The World Wide Web Consortium (W3C) has issued the Extensible Stylesheet Language (XSL) 1.0 as a W3C Recommendation, representing cross-industry agreement on an XML-based language that specifies how XML documents may be formatted. It works in concert with XSL Transformations (XSLT), an XML language that performs transformations of structured documents. W3C Recommendation status indicates that a specification is stable, contributes to Web interoperability, and has been reviewed by the W3C Membership, who favor its widespread adoption.For document-driven industries, the Extensible Markup Language (XML) has held great promise, but also presented some limitations. While XML has proven an effective format for structured data, it had yet to provide the advanced levels of formatting and structural transformation common to proprietary publishing tools.
XSLT 1.0, the XML language which performs transformations on XML data and documents, has been a W3C Recommendation since November 1999, and already enjoys significant usage in both developer communities and in commercial products. XSL 1.0 builds on XSLT 1.0, and provides users with the ability to describe how XML data and documents are to be formatted. XSL 1.0 does this by defining "formatting objects," such as footnotes, headers, columns, and other features common to paged media.
Designers would use XSL 1.0 stylesheets to indicate rendering preferences for a type of XML document, including how it is styled, laid out, and paginated onto a presentation medium such as a browser window, a pamphlet, or a book. An XSL engine would take the XML document and the XSL stylesheet, and would produce a rendering of the document. XSLT 1.0 makes it possible to significantly change the original structure of an XML document (automatic generation of tables of contents, cross-references, indexes, etc.), while XSL 1.0 makes complex document formatting possible through the use of formatting objects and properties.
As XSL 1.0 is focused on the formatting of paged media, it makes it possible for professional printing capabilities and functions to perform with XML documents today. XSL 1.0 and XSLT make it possible for the needs of Web and print-based media formatting to be met. Now, one can have documents and data stored in XML, specify how to format and render them, and produce versions for both Web rendering and for print media.
The Cascading Style Sheet language (CSS), both levels 1 and 2 has long been recognized as the style language of choice for HTML and XHTML documents. CSS may still be used for XML formatting, and in cases where structural transformations are not needed, suit the needs of Web designers.
The W3C CSS and XSL Working Groups have cooperated to ensure that their results are complementary. Using CSS properties and the CSS formatting model, the XSL Working Group has ensured complete compatibility and interoperability between the two families for styling.
Key industry leaders and XML experts participated in the creation of both the transformation and formatting components of XSL, including (in alphabetical order) Adobe, Antenna House, Arbortext, Bitstream, Enigma, IBM, James Clark, Microsoft, Oracle, RivCom, SoftQuad, Software AG, Sun Microsystems, University of Edinburgh, and Xerox. Implementation commitments are significant, and are included in the testimonials for XSL 1.0.
The XSL and CSS Working Groups are already working on revisions and refinements to their respective technologies. The XSL Working Group has published early drafts for XSLT 2.0 and XPath 2.0, while the CSS Working Group has completed some of the modules and profiles of CSS level 3.