What is it?
Extensible Stylesheet Language (XSL) is a style sheet format for XML (Extensible Markup Language) documents. It is the XML counterpart to the Cascading Style Sheets (CSS) language in HTML (Hypertext Markup Language).
Unlike HTML, which uses predefined tags (for instance, < p > meaning paragraph) that are understood by browsers, there is no standard way of displaying an XML document. As the World Wide Web Consortium (W3C) puts it, "An XSL stylesheet processor accepts a document or data in XML and an XSL stylesheet, and produces the presentation of that XML source content that was intended by the designer of that stylesheet."
Where did it originate?
With the W3C. The XSL Working Group, formed in 1998, is co-chaired by IBM and Adobe. It is based on two older stylesheet languages, CSS and the Document Style Semantics and Specification Language (DSSSL). XSL is intended to be suitable for the general user as well as the professional, whereas DSSSL is strictly for the expert. CSS and XSL are complementary. XSL can transform XML documents into CSS/HTML documents which CSS can then format.
Microsoft played a benign role in the development of XSL. Deciding that XSL was too complex and too broad in its approach, since most people simply wanted to output HTML, it took the transformation aspects of XSL and ran with them. As a result, XSL was split into two: XSL itself, also known as XSL Formatting Objects (XSLFO), and XSL Transformation (XSLT).
What is it for?
XSL provides a model and vocabulary for writing stylesheets using XML syntax. According to the W3C, presentation means "how the source content should be styled, laid out, and paginated onto some presentation medium, such as a window in a Web browser or a handheld device, or a set of physical pages in a catalogue, report, pamphlet, or book".
The XSL Working Group says, "Aimed, by and large, at complex documentation projects, XSL has many uses associated with the automatic generation of tables of contents, indexes, reports and other more complex publishing tasks."
What makes it special?
Without a stylesheet, a processor would render the content of an XML document as a string of undifferentiated characters. XSL provides much more flexible and sophisticated layouts and pagination than were possible before.
How difficult is it?
The term "human-readable" makes XML and XSL seem like something anybody can pick up, but Chris Harris-Jones, a consultant with analyst firm Ovum, warns that this is true only in the same way that all European languages are human-readable. "You need to understand the tag sets they are written in," he explains.
There is a good selection of tools to make XSL easier, including ActiveState's Komodo, Excelon's Stylus Studio and IBM's XSL Editor.
Where is it used?
Wherever XML documents are used.
What does it run on?
XSL, like XML, is supplier- and platform-neutral - although there were compatibility problems with Internet Explorer 5.0, which was released before the XSL standard was firmed up.
Few people know that
XSL can be entertaining. See the IBM paper "XSL for Fun and Diversion" at www-106.ibm.com/ developerworks/library/hands-on-xsl. Alternatively, try to get out more.
What is coming up?
XML schemas for UK local elections.
Rates of pay
XML, along with XSL, is used in almost very kind of software and database development, and the range of salaries is correspondingly large.
There are dozens of free XSL tutorials online. Try the W3C Web site (www.w3c. org/Style/XSL), www. w3schools.com and IBM's Developerworks (www-106.ibm.com/ developerworks), for starters.
This was first published in December 2002