The W3C XSL Working Group has published Extensible Stylesheet Language (XSL) Version 1.0 as a W3C Proposed Recommendation, indicating that "the specification is stable and that implementation experience has been gathered showing that the features of the specification can be implemented." The Extensible Stylesheet Language (XSL) "is a language for expressing stylesheets [which] builds on the prior work on Cascading Style Sheets (CSS2) and the Document Style Semantics and Specification Language (DSSSL). Apart from a stylesheet, a processor "could not possibly know how to render the content of an XML document other than as an undifferentiated string of characters. XSL provides a comprehensive model and a vocabulary for writing such stylesheets using XML syntax. Given a class of arbitrarily structured XML documents or data files, designers use an XSL stylesheet to express their intentions about how that structured content should be presented; that is, how the source content should be styled, laid out, and paginated onto some presentation medium, such as a window in a Web browser or a hand-held device, or a set of physical pages in a catalog, report, pamphlet, or book." The PR review period for XSL Version 1.0 which began on 28-August-2001 lasts through 25-September-2001, during which time the W3C Advisory Committee representatives return comments; following the review the W3C Director will announce the document's disposition (W3C Recommendation, Working Draft).
Bibliographic information: Extensible Stylesheet Language (XSL) Version 1.0. W3C Proposed Recommendation 28-August-2001. Version URL: http://www.w3.org/TR/2001/PR-xsl-20010828/. Latest version URL: http://www.w3.org/TR/xsl/. Previous version URL: http://www.w3.org/TR/2000/CR-xsl-20001121/. Authors and Contributors: Sharon Adler (IBM), Anders Berglund (IBM), Jeff Caruso (Pageflex), Stephen Deach (Adobe), Paul Grosso(Arbortext), Eduardo Gutentag (Sun), Alex Milowski, Scott Parnell (Xerox), Jeremy Richman, Steve Zilles (Adobe).
From the W3C web site: "XSL is a language for expressing stylesheets. It consists of three parts: XSL Transformations (XSLT): a language for transforming XML documents, the XML Path Language (XPath), an expression language used by XSLT to access or refer to parts of an XML document. (XPath is also used by the XML Linking specification). The third part is XSL Formatting Objects: an XML vocabulary for specifying formatting semantics. An XSL stylesheet specifies the presentation of a class of XML documents by describing how an instance of the class is transformed into an XML document that uses the formatting vocabulary."
Stylesheet processing [adapted from the PR]:
An XSL stylesheet processor accepts a document or data in XML and an XSL stylesheet and produces the presentation of that XML source content that was intended by the designer of that stylesheet. There are two aspects of this presentation process: first, constructing a result tree from the XML source tree and second, interpreting the result tree to produce formatted results suitable for presentation on a display, on paper, in speech, or onto other media. The first aspect is called tree transformation and the second is called formatting. The process of formatting is performed by the formatter. This formatter may simply be a rendering engine inside a browser.
Tree transformation allows the structure of the result tree to be significantly different from the structure of the source tree. For example, one could add a table-of-contents as a filtered selection of an original source document, or one could rearrange source data into a sorted tabular presentation. In constructing the result tree, the tree transformation process also adds the information necessary to format that result tree.
Formatting is enabled by including formatting semantics in the result tree. Formatting semantics are expressed in terms of a catalog of classes of formatting objects. The nodes of the result tree are formatting objects. The classes of formatting objects denote typographic abstractions such as page, paragraph, table, and so forth. Finer control over the presentation of these abstractions is provided by a set of formatting properties, such as those controlling indents, word- and letter spacing, and widow, orphan, and hyphenation control. In XSL, the classes of formatting objects and formatting properties provide the vocabulary for expressing presentation intent.