Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
XSL
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|XML stylesheet language}} {{more footnotes|date=January 2014}} In [[computing]], the term '''Extensible Stylesheet Language''' ('''XSL''') is used to refer to a family of languages used to transform and render [[XML]] documents (e.g., XSL is used to determine how to display a XML document as a webpage<ref>{{Cite web |title=XML and XSLT |url=https://www.w3schools.com/xml/xml_xslt.asp |url-status=live |access-date=2025-01-08 |website=W3schools}}</ref>). Historically, the [[W3C]] XSL Working Group produced a draft specification under the name "XSL", which eventually split into three parts: # XSL Transformation ([[XSLT]]): an [[XML]] language for transforming XML documents # XSL Formatting Objects ([[XSL Formatting Objects|XSL-FO]]): an [[XML]] language for specifying the visual formatting of an XML document # 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 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 == History == XSL began as an attempt to bring the functionality of [[Document Style Semantics and Specification Language|DSSSL]], particularly in the area of print and high-end [[typesetting]], to XML. In response to a submission from Arbortext, Inso, and Microsoft,<ref>{{cite web|url=http://xml.coverpages.org/xmlprMicro.html|title= Microsoft, ArborText and Inso Submit XSL Proposal to W3C |date=Sep 11, 1997}}</ref> a W3C [[working group]] on ''XSL'' started operating in December 1997, with [[Sharon Adler]] and [[Steve Zilles]] as co-chairs, with [[James Clark (XML expert)|James Clark]] acting as editor (and unofficially as chief designer), and [[Chris Lilley (W3C)|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.<ref name="timelinehistory">{{cite web|url=http://www.dblab.ntua.gr/~bikakis/XML%20and%20Semantic%20Web%20W3C%20Standards%20Timeline-History.pdf|url-status=dead|archive-url=https://web.archive.org/web/20120312175040/http://www.dblab.ntua.gr/~bikakis/XML%20and%20Semantic%20Web%20W3C%20Standards%20Timeline-History.pdf|archive-date=2012-03-12|archive-format=PDF|title=XML and Semantic Web W3C Standards Timeline|date=2012|access-date=2021-04-08}}</ref> == The XSL family == === XSL Transformations === {{main|XSLT}} 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 [[web browser]]s, as well as [[Altova]]'s RaptorXML, [[libxslt]], [[Saxon XSLT|Saxon]], the [[Microsoft]] [[.NET]] implementation '''System.Xml.Xsl''', and [[Xalan]] which is integrated into the Oracle [[JVM]]. 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 XSLT|Saxon]] (available in various versions for different platforms, including web browsers), and [[Altova]]'s RaptorXML. === XSL Formatting Objects === {{main|XSL Formatting Objects}} Support for XSL Formatting Objects is available in a number of products: * the [[XEP (software)|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 * [[Formatting Objects Processor|FOP]] from the [[Apache Software Foundation|Apache]] project can render a portion of the XSL formatting objects 1.0 specification to [[Portable Document Format|PDF]] * XML2PDF Formatting Engine Server from AltSoft has near 100% support for the XSL-FO 1.1 These products support output in a number of [[file format]]s, to varying degrees: * [[Portable Document Format]] * [[PostScript]] * [[Scalable Vector Graphics|SVG]] * [[Maker Interchange Format|MIF]] * [[Printer Control Language|PCL]] * [[text file]]s === XPath === {{main|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]]. ==References== {{Reflist}} == External links == * {{cite web |url= http://www.w3.org/Style/XSL/ |title=XSL language definition }} * {{cite web |url= http://xml.coverpages.org/xsl.html |title=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 |access-date= 2008-09-01 |last= Holman |first= G. Ken |date= 2002-03-20 |work= XML.com |publisher= O'Reilly Media, Inc. }} * [http://www.data2type.de/en/xml-xslt-xslfo/xslt/ tutorial and reference of XSLT and XSL-FO] * [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] {{Webarchive|url=https://web.archive.org/web/20110717060912/http://alphaworks.ibm.com/tech/xfc |date=2011-07-17 }} {{XSL|state=expanded}} {{Stylesheet languages}} {{W3C Standards}} {{Authority control}} [[Category:World Wide Web Consortium standards]] [[Category:Stylesheet languages]] [[Category:Markup languages]] [[Category:XML-based standards]] [[Category:Computer-related introductions in 1998]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite web
(
edit
)
Template:Main
(
edit
)
Template:More footnotes
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Stylesheet languages
(
edit
)
Template:W3C Standards
(
edit
)
Template:Webarchive
(
edit
)
Template:XSL
(
edit
)