Extensible Stylesheet Language

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search

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

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

  1. XSL Transformations (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. the 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 XSL-FO: 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 which 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.



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

A W3C working group on CSS XSL started operating in December 1997, with Sharon Adler and Steve Zilles as co-chairs, with James Clark acting as editor (and unofficially as chief designer), 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.

"XSL" in Microsoft products

Microsoft's MSXML, first released in March 1999, contained an incomplete implementation of the December 1998 transformation language published in the W3C XSL Working Draft. Microsoft documentation used the term "XSL" to refer to this language as implemented in MSXML, including MSXML-specific extensions and omissions. Subsequently, when MSXML was updated to support the final W3C XSLT 1.0 Recommendation, Microsoft documentation referred to the obsolete dialect as "XSL" and to the new language as "XSLT". Other commentators follow the lead of Michael Kay[1] in referring to the older language as WD-xsl. Current versions of MSXML (as of 2009) continue to support the obsolete dialect, but no longer mention it in the documentation.

Since the mid-2000 release of MSXML 3.0, MSXML has had complete support for both XSLT 1.0 alongside the older dialect. MSXML 3.0 became the default XML services library of Internet Explorer (IE) upon the release of IE 6.0 in August 2001. Older versions of IE could use MSXML 3.0 only with a custom install in "replace mode".

The XSL family

XSL Transformations

XSL Transformations (XSLT) currently has many implementations available. Several web browsers, including Internet Explorer (using the MSXML engine), Firefox, Mozilla, and Netscape (all using the TransforMiiX engine), Opera (native engine) and Safari, all support transformation of XML to HTML (or other languages) through XSLT. Other notable implementations include Saxon and Xalan.

It is possible to see the transformed file in Mozilla Firefox by installing the Web Developer toolbar by Chris Pederick.

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 Antenna House 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 Lunasil 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
  • Xml2PDF Server 2007 from AltSoft has near 100% support for the XSL-FO 1.1

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.

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


  1. Michael Kay. XSLT Programmer's Reference (1 ed.). Wrox. ISBN 1-861003-12-9. 

External links


cs:Extensible Stylesheet Language da:XSL de:Extensible Stylesheet Language es:Extensible Stylesheet Language eu:XSL fa:زبان امتدادپذیر روی‌انداز سبک fr:Extensible stylesheet language ko:XSL id:Extensible Stylesheet Language is:XSL it:Extensible Stylesheet Language he:XSL nl:Extensible Stylesheet Language ja:Extensible Stylesheet Language no:Extensible Stylesheet Language nn:XSL pl:XSL pt:Extensible Stylesheet Language ru:XSL sk:XSL fi:Extensible Stylesheet Language sv:XSL tr:XSL uk:Extensible Stylesheet Language zh:可扩展样式语言

Personal tools

Served in 0.683 secs.