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!
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).