Extensible Stylesheet Language

Extensible Stylesheet Language

In computing, the Extensible Stylesheet Language (XSL), a family of transformation languages, allows one to describe how to format or transform files encoded in the XML standard. The XSL language itself uses valid XML syntax, with constructs such as:

<xsl:if test="@author='Jones'">Hello Mrs. Jones!</xsl:if>

The start-tag and end-tag of every statement echo the syntax of the opening and closing parenthesis of Lisp. The designers of XSL wanted a data driven language: it strongly encourages the inversion of control design pattern. The language assumes the processing of an XML file as a tree to produce a text-based output document, generally HTML, XML, plain-text, or PDF. XSL programmers can declare variables, but not change their values. The language provides several data-driven looping constructs, but programmers can still construct arbitrary loops without altering any variables by using recursion (as in Scheme).

The XSL family comprises three languages:

# XSL Transformations (XSLT): an XML language for transforming XML documents
# XSL Formatting Objects (XSL-FO): an XML language for specifying the visual formatting of an XML document
# 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.

W3C recommendations specify each of the three languages.

Early Working Drafts that preceded the XSLT Recommendation didn't have the "T" at the end of "XSLT"; they used the term "XSL" instead; and the language included rudiments of what later became XPath.

History

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 Working Draft of XSL. Since the mid-2000 release of MSXML 3.0, MSXML has had complete support for both XSLT 1.0 and 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".

Some commentatorswho? use the term "XSL" to refer to the dialect described in the Working Draft and as implemented in MSXML, including MSXML-specific extensions and omissions. Other commentatorswho? generally refer to it as WD-xsl.

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), and Opera (native engine), all support transformation of XML to HTML through XSLT. Other notable implementations include Saxon and Xalan.

XSL Formatting Objects

Support for XSL Formatting Objects has become more widespread as of late:

* the [http://www.renderx.com/tools/xep XEP] package from [http://www.renderx.com RenderX] has near 100% support for XSL-FO 1.0
* XSLFormatter from [http://www.antennahouse.com/ 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 [http://www.lunasil.com/ 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

XSL Formatting Objects support other file formats to varying degrees:

* PostScript
* SVG
* MIF
* PCL
* text files

XPath

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.

See also

* List of stylesheet languages
* Comparison of stylesheet languages

External links

* [http://www.w3.org/Style/XSL/ XSL language definition.]
* [http://xml.coverpages.org/xsl.html Extensible Stylesheet Language]
* cite web
url= http://www.xml.com/pub/a/2002/03/20/xsl-fo.html?page=1
title= What is XSL-FO
accessdate= 2008-09-01
last= Holman
first= G. Ken
authorlink=
date= 2002-03-20
work= XML.com
publisher= O'Reilly Media, Inc.
doi=
archiveurl=
archivedate=
quote=

* [http://www.xml.org/xml/resources_focus_cssxslfo.shtml XML Focus Topics : CSS, XSL, XSL-FO]
* [http://alphaworks.ibm.com/tech/xfc IBM XSL Formatting Objects Composer]
* [http://www.w3schools.com/xsl/ W3schools XSL Tutorial]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Extensible Stylesheet Language — XSL (eXtensible Stylesheet Language) est le langage de description de feuilles de style du W3C associé à XML. Une feuille de style XSL est un fichier qui décrit comment doivent être présentés (c est à dire affichés, imprimés, épelés) les… …   Wikipédia en Français

  • Extensible Stylesheet Language — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar …   Wikipedia Español

  • Extensible Stylesheet Language — XSL (Extensible Stylesheet Language) ist eine in XML notierte Familie von Transformationssprachen zur Definition von Layouts für XML Dokumente. Die XSL Subsprache XSLT wird außerdem zur Übersetzung/Transformation eines XML Formats in ein anderes… …   Deutsch Wikipedia

  • Extensible stylesheet language — XSL (eXtensible Stylesheet Language) est le langage de description de feuilles de style du W3C associé à XML. Une feuille de style XSL est un fichier qui décrit comment doivent être transformés présentés (c est à dire affichés, imprimés, épelés)… …   Wikipédia en Français

  • extensible stylesheet language — XSL kalba statusas T sritis informatika apibrėžtis ↑Stilių aprašo kalbų šeima, skirta ↑XML kalba rašomų failų stiliams ir transformacijoms į kitų formatų dokumentus aprašyti. XML dokumente turinys ir jo pateikimas yra griežtai atskirti (gairėse… …   Enciklopedinis kompiuterijos žodynas

  • EXtensible Stylesheet Language Transformations — XSL Transformations Extension de fichier .xsl, .xslt Type MIME application/xslt+xml[1] Développé par …   Wikipédia en Français

  • Extensible Stylesheet Language - Formatting Objects — XSL FO (Extensible Stylesheet Language – Formatting Objects) ist eine XML Anwendung, die beschreibt, wie Text, Bilder, Linien und andere grafische Elemente auf einer Seite angeordnet werden. Mit Hilfe von XSL FO ist es möglich, qualitativ… …   Deutsch Wikipedia

  • Extensible Stylesheet Language – Formatting Objects — XSL FO (Extensible Stylesheet Language – Formatting Objects) ist eine XML Anwendung, die beschreibt, wie Text, Bilder, Linien und andere grafische Elemente auf einer Seite angeordnet werden. Mit Hilfe von XSL FO ist es möglich, qualitativ… …   Deutsch Wikipedia

  • Extensible Stylesheet Language Transformations — XSL Transformations Extension .xsl, .xslt Type MIME application/xslt+xml[1] Développé par World Wide Web Consortium Type de format …   Wikipédia en Français

  • EXtensible Markup Language — Extension de fichier .xml Type MIME application/xml, text/xml Développé par World Wide Web Consortium Type de format …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”