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.
Training
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.
www.w3schools.com/xsl
http://xml.coverpages.org/xsl.html#resources
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