Six revised working drafts have been published by the W3C XSL Working Group and XML Query Working Group as part of the W3C XML Activity.
The XSL Transformations (XSLT) Version 2.0 specification of 2004-11-05 has been published "to mark the conclusion of the Last Call process for XSLT 2.0," addressing some 109 comments received in response to the Last Call version of 2003-11-12. The XSL Working Group believes that the development of XSLT 2.0 is now complete, and has released the new working draft to ensure that the agreed-upon changes have been made correctly. Following the current Last Call review period, the specification is expected to advance to a Candidate Recommendation, though modifications "may be required to align this document with the specifications on which it is dependent, notably the XPath and Serialization specifications."
XSLT Version 2.0 defines the syntax and semantics of the XSL Transformations language designed for transforming XML documents into other XML documents. "XSLT 2.0 is designed to be used in conjunction with XPath 2.0 and shares the same data model as XPath 2.0, which is defined in XQuery 1.0 and XPath 2.0 Data Model. XSLT Version 2.0 uses the library of functions and operators defined in the XQuery 1.0 and XPath 2.0 Functions and Operators Working Draft. XSLT 2.0 also includes optional facilities to serialize the results of a transformation, by means of an interface to the serialization component described in XSLT 2.0 and XQuery 1.0 Serialization.
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 elements that are defined by XSLT as well as elements that are not defined by XSLT. 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. However, XSLT is used for a wide range of transformation tasks, not exclusively for formatting and presentation applications."
The XML Path Language (XPath) 2.0 Working Draft produced jointly by the W3C XSL Working Group and the XML Query Working Group defines "an expression language that allows the processing of values conforming to the data model defined in XQuery 1.0 and XPath 2.0 Data Model. The data model provides a tree representation of XML documents as well as atomic values such as integers, strings, and booleans, and sequences that may contain both references to nodes in an XML document and atomic values. The result of an XPath expression may be a selection of nodes from the input documents, or an atomic value, or more generally, any sequence allowed by the data model. The name of the language derives from its most distinctive feature, the path expression, which provides a means of hierarchic addressing of the nodes in an XML tree."
The updated XSLT 2.0 and XQuery 1.0 Serialization Working Draft produced jointly by the W3C XSL Working Group and the XML Query Working Group "defines serialization of the W3C XQuery 1.0 and XPath 2.0 Data Model, which is the data model of at least XPath 2.0, XSLT 2.0, and XQuery 1.0, and any other specifications that reference it. Serialization is the process of converting an instance of the Data Model into a sequence of octets. Serialization is well-defined for most data model instances."
The data model defined in the XQuery 1.0 and XPath 2.0 Data Model Working Draft "serves two purposes. First, it defines the information contained in the input to an XSLT or XQuery processor. Second, it defines all permissible values of expressions in the XSLT, XQuery, and XPath languages. A language is closed with respect to a data model if the value of every expression in the language is guaranteed to be in the data model; XSLT 2.0, XQuery 1.0, and XPath 2.0 are all closed with respect to the data model. The data model is based on the XML Information Set but requires new features to meet the XPath 2.0 and XML Query Requirements: (1) support for XML Schema types, and (2) representation of collections of documents and of complex values. As with the Infoset, the XQuery 1.0 and XPath 2.0 Data Model specifies what information in the documents is accessible, but it does not specify the programming-language interfaces or bindings used to represent or access the data. The data model can represent various values including not only the input and the output of a stylesheet or query, but all values of expressions used during the intermediate calculations."
The XQuery 1.0 and XPath 2.0 Functions and Operators document provides a "catalog the functions and operators required for XPath 2.0, XML Query 1.0 and XSLT 2.0. It defines constructor functions and functions that take typed values as arguments, and some of the functions define the semantics of operators discussed in XQuery 1.0. It defines basic operators and functions on the datatypes defined in XML Schema Part 2: Datatypes and the datatypes defined in XQuery 1.0 and XPath 2.0 Data Model and internally in the WD. It also discusses operators and functions on nodes and node sequences.
The XQuery 1.0: An XML Query Language specification shares much with XPath 2.0 since the two Working Drafts "are generated from a common source; these languages are closely related, sharing much of the same expression syntax and semantics, and much of the text found in the two Working Drafts is identical. Any expression that is syntactically valid and executes successfully in both XPath 2.0 and XQuery 1.0 will return the same result in both languages. As increasing amounts of information are stored, exchanged, and presented using XML, the ability to intelligently query XML data sources becomes increasingly important. One of the great strengths of XML is its flexibility in representing many different kinds of information from diverse sources. To exploit this flexibility, an XML query language must provide features for retrieving and interpreting information from these diverse sources. W3C's XQuery language is designed to be applicable to both databases and documents."
XSL Transformations (XSLT) Version 2.0. Edited by Michael Kay (Saxonica). W3C Working Draft. 5-November-2004. Version URL: http://www.w3.org/TR/2004/WD-xslt20-20041105/. Latest version URL: http://www.w3.org/TR/xslt20/. Previous versions: 2003-11-12; 2003-05-02; 2002-11-15; 2002-08-16; 2002-04-30; 2001-12-20.
XML Path Language (XPath) 2.0. Edited by Anders Berglund (XSL WG, IBM Research), Scott Boag (XSL WG, IBM Research), Don Chamberlin (XML Query WG, IBM Almaden Research Center), Mary F. Fernández (XML Query WG, AT&T Labs), Michael Kay (XSL WG, Invited Expert), Jonathan Robie (XML Query WG, DataDirect Technologies), and Jérôme Siméon (XML Query WG, IBM T.J. Watson Research Center). W3C Working Draft. 29-October-2004. Version URL: http://www.w3.org/TR/2004/WD-xpath20-20041029. Latest version URL: http://www.w3.org/TR/xpath20/. Previous versions: 2004-07-23; 2003-11-12; 2003-08-22; 2003-05-02.
XSLT 2.0 and XQuery 1.0 Serialization. Edited by Michael Kay (Saxonica, formerly of Software AG) Norman Walsh (Sun Microsystems), and Henry Zongaro (IBM). W3C Working Draft. 29-October-2004. Version URL: http://www.w3.org/TR/2004/WD-xslt-xquery-serialization-20041029/. Latest version URL: http://www.w3.org/TR/xslt-xquery-serialization/. Previous versions: 2004-07-23; 2003-11-12; 2003-05-02.
XQuery 1.0 and XPath 2.0 Data Model. Edited by Mary Fernández (XML Query WG, AT&T Labs), Ashok Malhotra (XML Query and XSL WGs, Oracle Corporation), Jonathan Marsh (XSL WG, Microsoft), Marton Nagy (XML Query WG, Science Applications International Corporation - SAIC), and Norman Walsh (XSL WG, Sun Microsystems). W3C Working Draft. 29-October-2004. Version URL: http://www.w3.org/TR/2004/WD-xpath-datamodel-20041029/. Latest version URL: http://www.w3.org/TR/xpath-datamodel/. Previous version URLs: 2004-07-23; 2003-11-12.
XQuery 1.0 and XPath 2.0 Functions and Operators. Edited by Ashok Malhotra (XML Query and XSL WGs, Oracle Corporation), Jim Melton (XML Query WG, Oracle Corporation), and Norman Walsh (XSL WG, Sun Microsystems). W3C Working Draft. 29-October-2004. Version URL: http://www.w3.org/TR/2004/WD-xpath-functions-20041029/. Latest version URL: http://www.w3.org/TR/xpath-functions/. Previous version URL: http://www.w3.org/TR/2004/WD-xpath-functions-20040723/.
XQuery 1.0: An XML Query Language. Edited by Scott Boag (XSL WG, IBM Research). Don Chamberlin (XML Query WG, IBM Almaden Research Center), Mary F. Fernández (XML Query WG, AT&T Labs), Daniela Florescu (XML Query WG), Jonathan Robie (XML Query WG, DataDirect Technologies), Jérôme Siméon (XML Query WG, IBM T.J. Watson Research Center). W3C Working Draft. 29-October-2004. Version URL: http://www.w3.org/TR/2004/WD-xquery-20041029/. Latest version URL: http://www.w3.org/TR/xquery/. Previous versions: 2004-07-23; 2003-11-12; 2003-08-22; 2003-05-02.
About the W3C XSL Working Group
The XSL Working Group is chartered to continue the development of XSL (extensible stylesheet language), a style sheet and transformation language for XML and other structured markup languages. The overall goal of this work is to define a practical style and transformation language capable of supporting the transformation and presentation of, and interaction with, structured information (e.g., XML documents) for use on servers and clients. The language is designed to build transformations in support of browsing, printing, interactive editing, and transcoding of one XML vocabulary into another XML vocabulary. To enhance accessibility, XSL is able to present information both visually and non-visually. XSL is not intended to replace CSS, but will provide functionality beyond that defined by CSS, for example, element re-ordering.
XSL is constituted of three main components, a transformation language known as XSLT, an expression language for addressing parts of XML documents, known as XPath, and a vocabulary of formatting objects with their associated formatting properties, known as XSL-FO.
XSLT 2.0 is a language for transforming XML documents into other XML documents; it is intended to be used in conjunction with XPath 2.0. A transformation expressed in XSLT describes rules for transforming one or more source trees into one or more result trees. A transformation is specified through a set of template rules. The structure of result trees can be completely different from the structure of the source trees. In constructing a result tree, nodes from the source trees can be filtered and reordered, and arbitrary structure and content may be added. This mechanism allows a stylesheet to be applicable to a wide variety of source trees that have similar tree structures.
The major requirement for XSLT 2.0 and XPath 2.0 is to provide schema-awareness, so that simple datatypes and complex types defined using XML Schema may be visible to processors. It is also a requirement for transformations to take place without schema-awareness.
A series of working drafts of both XPath 2.0 and XSLT 2.0 have been published, beginning in December 2001. For XSLT, major differences from the 1.0 versions are summarized in Appendix K of the XSLT 2.0 specification. For XPath 2.0, Appendix H provides a summary of the main areas of incompatibility between XPath 2.0 and XPath 1.0...
XSL Formatting Objects: The XSL Working Group moved the XSL 1.0 specification of formatting objects to Recommendation on 15 October 2001. The complex nature of the XSL specification leads to many questions and comments being posted to the public comment list by the growing XSL user and implementor community. The task of reviewing these comments and maintaining the XSL spec takes a non-trivial effort.
Since becoming a Recommendation, XSL 1.0 has enjoyed wide spread support. However, the user community has expressed requirements that have encouraged various implementations to provide extensions to the language. These extensions — especially those implemented by more than one implementation — are clear candidates for standardization so as to maximize interoperability. For the period of this new charter, the XSL Working Group will continue to maintain the XSL Recommendation. The Working Group will also survey and analyze various extant extensions, user requirements, and features intentionally cut from XSL 1.0 due to lack of time. Using the results of this research, the Working Group will develop an XSL 1.1 version that incorporates current errata and includes a subset of relatively simple and upward compatible additions to XSL..." [adapted from the WG Charter]
- XSL Transformations (XSLT) Version 2.0. W3C Working Draft. 5-November-2004.
- Non-normative HTML with revision markings
- Non-normative HTML without revision markings
- Comments: send feedback via email to the publicly archived list 'email@example.com'.
- Mulberry Technologies XSL-List: Open Forum on XSL
- W3C news item
- The Extensible Stylesheet Language Family (XSL)
- XSLT Requirements Version 2.0. W3C Working Draft. 14-February-2001.
- W3C XSL Working Group Charter
- XSL Working Group Patent Disclosures
- Contacts: C. M. Sperberg-McQueen and Liam Quin (W3C Team Contacts, XSL Working Group)
- Web Style Sheets W3C home page,
- Related XPath and XQuery specifications:
- XML Path Language (XPath) 2.0. W3C Working Draft. 29-October-2004.
- XSLT 2.0 and XQuery 1.0 Serialization. W3C Working Draft. 29-October-2004. Also in non-normative XML format.
- XQuery 1.0 and XPath 2.0 Data Model. W3C Working Draft. 29-October-2004. Also in non-normative XML format.
- XQuery 1.0 and XPath 2.0 Functions and Operators. W3C Working Draft. 29-October-2004.
- XQuery 1.0: An XML Query Language. W3C Working Draft. 29-October-2004.
- W3C XML home page
- "W3C Releases Ten Working Drafts for XQuery, XSLT, and XPath." News item 2003-05-06.
- "W3C Working Groups Update Specifications for XSLT, XML Query, and XPath." News item 2002-08-20.
- "Extensible Stylesheet Language (XSL/XSLT)" - General references.
- "XSL/XSLT Software Support" - General references.
- "XML and Query Languages" - General references.