- Styling XML with XSLT -
The history of XSL (eXtensible Stylesheet Language) has been brief but eventful. Work on XSL started in 1997, with the goal of producing a stylesheet language for specifying how an XML document is to be displayed in the browser. The goal has not yet been reached. In the meantime, two other specifications, both having to do with transforming rather that formatting XML, became Recommendations in November 1999, even though they did not exist as independent projects until fairly late in that year. As the XSL project unfolded, different parts of it grew at different speeds, and their relative importance and state of preparedness changed. Eventually, XSLT and XPath got carved out into separate products and completed, while the document formatting is still in Working Draft.
It was obvious from the beginning that a stylesheet language was needed for XML to function: if users can define their own elements, they have to be able to specify how those elements will look when displayed in the browser window or other media. Similarly, the intent to make the stylesheet language more powerful than CSS existed from the beginning. CSS, as we have seen, has a good deal of control over how different elements are displayed, but very little control over what gets displayed and in what order. XSL was intended to be able to add, remove, and reorder the elements of the document tree so that, for instance, the stylesheet could handle multiple reports for a database table, showing different fields and sorting records in different ways.
Initially, the tree-transformation part of XSL was just an aid to the formatting part, but it proved to be easier to develop and build a consensus about. As XML's role was evolving from a tool for document markup to being (also) a tool for data interchange between applications and components of applications, the transformation 'module' was developing an independent significance, totally unrelated to formatting and display, and the single XSL split into XSL for Formatting and XSL for Transformation (XSLT).
The XSLT part was taken over by James Clark, who brought it to a swift completion while at the same time producing xt,a fully compliant reference implementation of the XSLT processor....