This specification defines the syntax and semantics of XSLT 2.0, a language for transforming XML documents into other XML documents.
XSLT 2.0 is a revised version of the XSLT 1.0 Recommendation [XSLT 1.0] published on 16 November 1999.
XSLT 2.0 is designed to be used in conjunction with XPath 2.0, which is defined in [XPath 2.0].
XSLT 2.0 depends on a number of other specifications that have progressed to Recommendation status at the same time: see [XPath 2.0], [Data Model], [Functions and Operators], and [XSLT and XQuery Serialization].
These subsidiary documents are also referenced in the specification of XQuery 1.0.
This document has been produced by the XSL Working Group, which is part of the XML Activity.
This Recommendation builds on the success of [XSLT 1.0], which was published on 16 November 1999.
Many new features have been added to the language (see J.2 New Functionality) while retaining a high level of backwards compatibility (see J.1 Incompatible Changes).
The changes have been designed to meet the requirements for XSLT 2.0 described in [XSLT 2.0 Requirements].
The way in which each requirement has been addressed is outlined in I Checklist of Requirements.
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 and XQuery Serialization].
This document contains hyperlinks to specific sections or definitions within other documents in this family of specifications.
These links are indicated visually by a superscript identifying the target specification: for example XP for XPath, DM for the XDM data model, FO for Functions and Operators.
This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at