In computing, the term Extensible Stylesheet Language is used to refer to a family of languages used to transform and render XML documents. Historically, the W3C XSL Working Group produced a draft specification under the name "XSL," which eventually split into three parts:
XML Path Language : 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 XSL-FO: this usage can be justified by the fact that the XSL-FO specification carries the title Extensible Stylesheet Language ; 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 develops 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
This article is concerned with the various usages of the term "XSL": for details of the various languages embraced by the term, see the relevant article.
History
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, a W3C working group on XSL started operating in December 1997, with Sharon Adler and Steve Zilles as co-chairs, with James Clark acting as editor, and 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.
The XSL family
XSL Transformations
has many implementations available. Several web browsers, including Internet Explorer, Opera and Safari, all support transformation of XML to HTML through XSLT. Other notable implementations include Saxon and Xalan. Support in Firefox, Mozilla, and Netscape is incomplete. Support of disable-output-escaping does not work which is why HTML Fragments are not rendered properly. This bug is known since 2001 https://bugzilla.mozilla.org/show_bug.cgi?id=98168.
XSL Formatting Objects
Support for XSL Formatting Objects is available in a number of products:
the XEP package from RenderX has near 100% support for XSL-FO 1.0
XSLFormatter from also has near 100% support for the XSL-FO 1.0 specification and has 100% support for all new features within the XSL-FO 1.1 specification
XINC from has a great amount of support for the XSL-FO 1.0 specification
FOP from the Apache project can render a portion of the XSL formatting objects 1.0 specification to PDF
XML Path Language, itself part of the XSL family, functions within XSLT as a means of navigating an XML document. Another W3C project, XQuery, aims to provide similar capabilities for querying XML documents using XPath.