>One of the things I’m still amazed at is the amount of non-XSLT related code that is being used to translate XML files from one format to another. Frameworks like Apache Cocoon have been around a long time that pretty much keep everything in an XML format and then style it or transform it as necessary using XSL stylesheets.
In some cases I think people think XSL is slow, that it adds a large amount of overhead to the process. Yes it can be slow, if the stylesheet isn’t written correctly, and I’ve used XSL extensively in realtime applications to go from a XHTML based file, to a PDF using an XML Pipeline transformation. While XSL isn’t necessarily the correct tool for every job, it does have it’s place.
Chapter 15: XSL Transformations by Elliot Rusty Harold is good way to begin learning XSLT. In fact that is how I taught myself the language. The full XML Bible is also a good introduction to a wide variety of XML specifications. The book only covers XSLT 1.0, but XSLT 2.0 builds on top of the concepts presented in the chapter, so it’s a good place to start. XSLT 1.0 should be a tool that anybody working with XML should at least have in their pocket.
As always, if you are using eclipse, XSL Tools provides you with a set of plugins that can help you out. It also includes debugging support for XSLT 1.0 using Xalan as the processor. XSL Tools 0.5M9 will be available within the next two weeks.
Update: Correct link to XSL Transformations chapter for XML Bible 1.1.