W3C has published a first public working draft for XSL Transformations (XSLT) Version 2.0. The working draft constitutes a revised version of the XSLT 1.0 Recommendation published on 16-November-1999; it thus supersedes XSLT 1.1, which was never developed beyond the Working Draft stage. The version 2.0 XSLT specification "defines the syntax and semantics of XSLT, which is a language for transforming XML documents into other XML documents. XSLT is designed for use as part of XSL, which is a stylesheet language for XML. In addition to XSLT, XSL includes an XML vocabulary for specifying formatting, as defined in XSL Formatting Objects. XSL Formatting Objects are frequently used as the output of an XSLT transformation. XSLT is also designed to be used independently of XSL Formatting Objects. It is often used to produce HTML and XHTML documents, as well as for transformation of application-specific message formats. XSLT 2.0 is designed to be used together with XPath 2.0, which has been developed by the W3C XSL Working Group in collaboration with the XML Query Working Group." The non-normative Appendix E supplies a 'DTD Fragment for XSLT Stylesheets'.
Bibliographic information: XSL Transformations (XSLT) Version 2.0. W3C Working Draft 20-December-2001. Edited by : Michael Kay (Software AG). Version URL: http://www.w3.org/TR/2001/WD-xslt20-20011220/. Latest version URL: http://www.w3.org/TR/xslt20.
From the specification Introduction:
This specification defines the syntax and semantics of the XSLT language. A transformation in the XSLT language is expressed in the form of a stylesheet, whose syntax is well-formed XML conforming to the Namespaces in XML Recommendation. A stylesheet generally includes both elements that are defined by XSLT and elements that are not defined by XSLT. XSLT-defined elements are distinguished by belonging to a specific XML namespace (http://www.w3.org/1999/XSL/Transform), which is referred to in this specification as the XSLT namespace. Thus this specification is a definition of the syntax and semantics of the XSLT namespace.
The term stylesheet reflects the fact that one of the important roles of XSLT is to add styling information to an XML source document, by transforming it into a document consisting of XSL formatting objects, or into another presentation-oriented format such as HTML, XHTML, or SVG.
The software responsible for transforming a source document into a result document is referred to as the processor. This is sometimes expanded to XSLT processor to avoid any confusion with other processors, for example an XML processor. A specific product that performs the functions of an XSLT processor is referred to as an implementation.
A transformation expressed in XSLT describes rules for transforming a source tree into a result tree. The transformation is achieved by a set of template rules. A template rule associates a pattern, which matches nodes in the source document, with a content constructor, which can be evaluated to produce part of the result tree. The structure of the result tree can be completely different from the structure of the source tree. In constructing the result tree, nodes from the source tree can be filtered and reordered, and arbitrary structure can be added. This mechanism allows a stylesheet to be applicable to a wide class of documents that have similar source tree structures... More generally, a transformation can process several source trees and produce several result trees... A stylesheet may consist of several stylesheet modules, contained in different XML documents.
Principal references:
- XSL Transformations (XSLT) Version 2.0
- XSLT Requirements Version 2.0
- The Extensible Stylesheet Language (XSL). W3C Web site
- W3C Style activity
- "Extensible Stylesheet Language (XSL) Version 1.0 Published as W3C Proposed Recommendation." August 28, 2001.
- XSL Formatting Objects
- XML Path Language (XPath) 2.0 W3C Working Draft 20-December-2001.
- "Extensible Stylesheet Language (XSL/XSLT)" - Main reference page.