Source: Wikipedia, the free encyclopedia.

In computing, the term Extensible Stylesheet Language (XSL) is used to refer to a family of languages used to transform and render XML documents.

Historically, the

XSL Working Group produced a draft specification under the name "XSL", which eventually split into three parts:

  1. XSL Transformation (XSLT): an XML language for transforming XML documents
  2. XSL Formatting Objects (XSL-FO): an XML language for specifying the visual formatting of an XML document
  3. XML Path Language (XPath): a non-XML language used by XSLT, and also available for use in non-XSLT contexts, for addressing the parts of an XML document.

As a result, the term "XSL" is now used with a number of different meanings:

  • Sometimes it refers to XSLT: this usage is best avoided. However, "xsl" is used both as the conventional namespace prefix for the XSLT namespace, and as the conventional filename suffix for files containing XSLT stylesheet modules
  • Sometimes it refers to
    : this usage can be justified by the fact that the XSL-FO specification carries the title Extensible Stylesheet Language (XSL); however, the term XSL-FO is less likely to be misunderstood
  • Sometimes it refers to both languages considered together, or to the working group that developed both languages
  • Sometimes, especially in the Microsoft world, it refers to a now-obsolete variant of XSLT developed and shipped by Microsoft as part of MSXML before the W3C specification was finalized


XSL began as an attempt to bring the functionality of DSSSL, particularly in the area of print and high-end typesetting, to XML.

In response to a submission from Arbortext, Inso, and Microsoft,

Chris Lilley as the W3C staff contact. The group released a first public Working Draft on 18 August 1998. XSLT and XPath became W3C Recommendations on 16 November 1999 and XSL-FO reached Recommendation status on 15 October 2001.[2]

The XSL family

XSL Transformations

The original version of XSLT (1.0) was published in November 1999, and was widely implemented. Some of the early implementations have fallen into disuse, but notable implementations actively used in 2023 include those integrated into the mainstream

. These products all have a high level of conformance to the specification, though they also offer proprietary vendor extensions, and some of them omit support for optional features such as disable-output-escaping.

Subsequent versions of XSLT include XSLT 2.0 (January 2007) and XSLT 3.0 (June 2017); there is work in progress on a version 4.0. These versions have not been as widely implemented as 1.0: the main implementations in widespread use in 2023 are Saxon (available in various versions for different platforms, including web browsers), and Altova's RaptorXML.

XSL Formatting Objects

Support for XSL Formatting Objects is available in a number of products:

These products support output in a number of file formats, to varying degrees:


XML Path Language (XPath), itself part of the XSL family, functions within XSLT as a means of navigating an XML document.


W3C project, XQuery, aims to provide similar capabilities for querying XML documents using XPath


  1. ^ "Microsoft, ArborText and Inso Submit XSL Proposal to W3C". Sep 11, 1997.
  2. ^ "XML and Semantic Web W3C Standards Timeline" (PDF). 2012. Archived from the original (PDF) on 2012-03-12. Retrieved 2021-04-08.

External links

This page is based on the copyrighted Wikipedia article: XSL. Articles is available under the CC BY-SA 3.0 license; additional terms may apply.Privacy Policy