Some Thoughts on XSL

XML Expert Benoit Marchal gives a crash course in XSL, including its uses for web publishing and data management, as well as where XSL is headed in the future.

XML Expert Benoît Marchal gives a crash course in XSL, including its
uses for web publishing and data management, as well as where XSL is headed
in the future.

XSL is the XML Stylesheet Language, one of the numerous standards published
by the W3C to support XML. I consider XSL one of major XML standards, along
with namespaces and SAX. I rate XSL as major because almost every XML application
will need it.

I did a fair amount of XSL work last month: the new XML book, which I am currently
writing, explores several advanced XSL techniques. I also gave a customized
XSL training for a local company. Finally, I still receive many comments following
the "XML
Programming for Teams" article I published in last September.

Last but not least, there are almost daily XSL-related announcements: new XSL
processors, new formatters and, at long last, XSLFO is close to being final.
One of the funniest XSL announcements came from Don Box who wrote a SOAP endpoint
in XSL!

Crash Course on XSL

The naming "stylesheet" is very unfortunate. In most cases, a style
sheet is a tool to format and publish documents, e.g. Cascading Style Sheet
or Word style sheets (now called templates). Not quite with XSL or, to be more
correct, XSL is 10% formatting and 90% non-formatting!

There are two main aspects in XSL. Firstly XSLT and XPath define a transformation
language (the T in XSLT stands for transformation). In other words, it's a tool
to take an XML document and transform it in another XML document (although HTML
and text are also supported).

Secondly XSLFO (XSL Formatting Objects) is a language to describe mainly printed
documents. This part of XSL is what you would expect in a style sheet, it's
all about choosing font, boldness and page jumps. However, unlike XSLT and XPath,
it's not a standard yet (but soon will be).