Extensible Stylesheet Language

from Wikipedia, the free encyclopedia

Extensible Stylesheet Language ( XSL ) is a family of transformation languages noted in XML for defining layouts for XML documents. The XSLT sub-language is also used to translate / transform an XML format into another XML or text format.

References to layouts (also called stylesheets) can be included in the XML documents to be formatted, whereby the layouts can be assigned to special media. It is thus possible to use a layout for printing and a layout for display on the computer.


XSL includes:

  • the XML-based XSL proper (called XSL Formatting Objects, XSL-FO to distinguish it ) for describing a document as a tree with formatting instructions and style information,
  • the XML-based XSL Transformations ( XSLT ) for transforming any XML document into another tree
  • and indirectly also XPath for addressing parts of trees.

Areas of application

The three languages ​​( XSL-FO , XSLT , XPath ) can be used together as XSL or independently of one another.

A document could e.g. B. immediately write in XSL-FO, a procedure used in practice to design new layouts.

XSLT can not only transform to XSL-FO, but also into any XML-based language or into formats that are not XML. In practice, XSLT is used comparatively rarely with XSL. XSLT is found much more frequently in Message Oriented Middleware or Presentation Oriented Publishing based on XML, the latter being used far more frequently with XHTML for use in the WWW than XSL-FO. XSLT is therefore used more often with other XML-based languages ​​than with XSL-FO.

XPath is used in XSLT for XSLT patterns and for XQuery .


XSL goes back to the DSSSL developed by James Clark . In contrast to DSSSL, XSL offers two major innovations:

  • XML based syntax
  • Separation of the languages ​​for the transformation (XSLT), the formatting (XSL-FO) and the tree addressing (XPath) in independent and independently usable languages

The first working draft on XSL dealt with all components in one document and was published in August 1998. In the course of development, XSLT and XPath were outsourced to separate documents. XSLT 1.0 and XPath 1.0 were adopted in November 1999, and XSL itself in October 2001.

The current version of XSLT 2.0 and XPath 2.0 was adopted on January 23, 2007.


See also XSLT for various XSLT processors.

Web links