What is it?
XSL (Extensible Stylesheet Language) is a way of transforming and formatting XML documents.
Without a stylesheet, a processor would not know how to render the content of an XML document except as an undifferentiated stream of characters, according to the Worldwide Web Consortium (W3C).
Cascading Style Sheets (CSS) can describe how XML documents should be displayed, although CSS is primarily intended for HTML. XSL is purpose-designed for XML and is far more sophisticated. It can, for example, be used to transform XML data into HTML/CSS documents.
Far from replacing CSS, XSL builds upon and complements it. The two languages can be used together, and both use the same underlying formatting model, so designers have access to the same formatting features in both languages.
Where did it originate?
XSL began as an initiative to bring publishing functionality to XML. The working group included representatives from IBM, Microsoft and the University of Edinburgh. As well as CSS, XSL's heritage includes the ISO-standard Document Style Semantics and Specification Language (DSSSL). XSL became a W3C recommendation in 2001.
What's it for?
The XSL specification is in two parts: a language for transforming XML documents - XSLT - and an XML vocabulary for specifying formatting semantics - XML Formatting Objects (XSL-FO).
One use of XSL is to define how an XML file should be displayed by transforming it into a format recognisable to a browser, such as HTML. Each XML element is transformed into an HTML element. However, XSL does far more than simply formatting it can also manipulate, evaluate, add or remove elements, and reassemble the information in the XML source document.
What makes it special?
CSS was designed for the needs of browsers and to be easy for browser manufacturers to implement. XSL is a more complex proposition and for this reason browser suppliers - Microsoft with Internet Explorer 5, for example - have not always kept up.
How difficult is it to master?
XSL should be an easy progression for people with XML skills, as it uses XML syntax. But it may be more challenging for people coming from a C or Java programming background.
Where is it used?
As well as transforming web development, XSL was intended from the outset to be used by print publishers. It handles all modern (and some ancient) alphabets, including Braille.
What systems does it run on?
XSL is supplier- and platform-neutral, but some implementations are more neutral than others. XSL-supporting browsers include Firefox, Mozilla, and Netscape.
What's coming up?
The W3C's XSL Working Group has started work on version 2.0 of XSL-FO.
There are many free XSL tutorials. Try, for example, the W3C site or the Cover Pages. Many other sites deal in detail with the day to day problems of working with XSL, or explore new ways of using it. IBM's Developerworks is one such site, and publisher O'Reilly and Associates has a daunting array of articles on the subject, as well as XSL books.
Rates of pay
XSL is used with all mainstream development skills - Active Server Pages, Visual Basic, Java, Perl and other scripting languages. Roles range from web designers to consultants in City firms. The range of wages varies accordingly.
Vote for your IT greats
Who have been the most influential people in IT in the past 40 years? The greatest organisations? The best hardware and software technologies? As part of Computer Weekly’s 40th anniversary celebrations, we are asking our readers who and what has really made a difference?
Vote now at: www.computerweekly.com/ITgreats