XSLand CSS complement each other on document layout
What is it?
XSL (Extended Style Sheet Language) is used to define the layout of XML documents in a presentation medium such as a web browser window or a printed page. XSL includes the transformation language XSLT, which converts XML into formats such as HTML, PDF and Braille, or into other XML formats such as typesetting languages.
Where did it originate?
The World Wide Web Consortium's (W3C) proposed recommendation for XSL pointed out that without a style sheet, a processor "could not possibly know how to render the content of an XML document other than as an undifferentiated string of characters". The proposal was submitted in 1997 by authors from a number of organisations including Microsoft, ArborText and the University of Edinburgh. XSL builds on the W3C's work on Cascading Style Sheets.
What is it for?
"It is not a replacement for your Wysiwyg authoring tools [a print preview application for developers, short for 'what you see is what you get'], but it is useful for some problems, such as very large documents or those derived from database content, that are not well served by the current tools," said Stephen Deach, a senior member of the W3C-XSL working group.
XSL provides a comprehensive model and a vocabulary for writing style sheets using XML syntax. There are three elements: XSLT; XPath, a language for defining parts of an XML document; and XSL-FO (Formatting Objects), a language for formatting XML documents.
What makes it special?
The W3C said, "XSL is a language quite different from CSS and caters for different needs. 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 complex publishing tasks."
Stephen Deach writes, "CSS was limited to what was needed for browsers and easy for the browser manufacturers to implement."
Although CSS can be used to style HTML and XML documents, XSL can transform XML data into HTML/CSS documents or other formats. The two languages complement each other and can be used together.
How difficult is it to master?
Straightforward - and essential - for those learning XML. However, IBM researcher Jared Jackson said, "This means that developers accustomed to writing in Java code or C who learn XSL often find themselves in foreign territory when using XSL's more advanced features."
Where is it used?
Not just in web and XML document design, but also printing. The W3C said XSL aims to allow the specification of printing of web documents to work as well as a word processor. Future support for high-end print typography is planned.
What systems does it run on?
Fewer suppliers and tools support XSL than CSS, although Microsoft, Adobe and others are committed to supporting final W3C specifications.
See the W3C XML site and the Cover Pages
What is coming up?
XSL 2.0 is making its way through the W3C review process.
The W3C website has links to XSL tutorials, articles and training, including Mulberry Technologies and online XSL guide Zvon.org.
Rates of pay
XSL is used in a wide range of roles including web publishing, .net and Java development and rates vary accordingly.