XSL
   HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
, the term Extensible Stylesheet Language (XSL) is used to refer to a family of languages used to transform and render
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
documents. Historically, the
W3C The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working to ...
XSL Working Group produced a draft specification under the name "XSL," which eventually split into three parts: # XSL Transformation ( XSLT): an
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
language for transforming XML documents # XSL Formatting Objects ( XSL-FO): an
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
language for specifying the visual formatting of an XML document # XML Path Language (
XPath XPath (XML Path Language) is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) and can be used to compute values (e.g., strings, numbers, or Boolean v ...
): 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 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 The Document Style Semantics and Specification Language (DSSSL) is an international standard developed to provide stylesheets for SGML documents. DSSSL consists of two parts: a tree transformation process that can be used to manipulate the tree ...
, particularly in the area of print and high-end
typesetting Typesetting is the composition of text by means of arranging physical ''type'' (or ''sort'') in mechanical systems or '' glyphs'' in digital systems representing '' characters'' (letters and other symbols).Dictionary.com Unabridged. Random ...
, to XML. In response to a submission from Arbortext, Inso, and Microsoft, a W3C
working group A working group, or working party, is a group of experts working together to achieve specified goals. The groups are domain-specific and focus on discussion or activity around a specific subject area. The term can sometimes refer to an interdis ...
on ''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.


The XSL family


XSL Transformations

XSL Transformations (XSLT) has many implementations available. Several
web browser A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used o ...
s, including
Internet Explorer Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, commonly abbreviated IE or MSIE) is a series of graphical web browsers developed by Microsoft which was used in the Windows line of operating systems ( ...
(using the MSXML engine),
Opera Opera is a form of theatre in which music is a fundamental component and dramatic roles are taken by singers. Such a "work" (the literal translation of the Italian word "opera") is typically a collaboration between a composer and a libr ...
(native engine) and Safari, all support transformation of XML to HTML (or other languages) through XSLT. Other notable implementations include Saxon and
Xalan Xalan is a popular open source software library from the Apache Software Foundation, that implements the XSLT 1.0 XML transformation language and the XPath 1.0 language. The Xalan XSLT processor is available for both the Java and C++ programming ...
. Support in
Firefox Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current ...
,
Mozilla Mozilla (stylized as moz://a) is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, w ...
, and Netscape (all using the TransforMiiX engine) 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 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 Fop is a pejorative term for a foolish man. FOP or fop may also refer to: Science and technology * Feature-oriented positioning, in scanning microscopy * Feature-oriented programming, in computer science, software product lines * Fibrodysplasia ...
from the Apache project can render a portion of the XSL formatting objects 1.0 specification to 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 formats, to varying degrees: *
Portable Document Format Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating syste ...
* PostScript * SVG * MIF * PCL *
text file A text file (sometimes spelled textfile; an old alternative name is flatfile) is a kind of computer file that is structured as a sequence of lines of electronic text. A text file exists stored as data within a computer file system. In operat ...
s


XPath

XML Path Language (
XPath XPath (XML Path Language) is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) and can be used to compute values (e.g., strings, numbers, or Boolean v ...
), itself part of the XSL family, functions within XSLT as a means of navigating an XML document. Another
W3C The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working to ...
project,
XQuery XQuery (XML Query) is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats (JSON, b ...
, aims to provide similar capabilities for querying XML documents using
XPath XPath (XML Path Language) is an expression language designed to support the query or transformation of XML documents. It was defined by the World Wide Web Consortium (W3C) and can be used to compute values (e.g., strings, numbers, or Boolean v ...
.


References


External links

* * *
tutorial and reference of XSLT and XSL-FO

XML Focus Topics: CSS, XSL, XSL-FO

IBM XSL Formatting Objects Composer
{{Authority control World Wide Web Consortium standards Stylesheet languages Markup languages XML-based standards Computer-related introductions in 1998