(eXtensible Stylesheet Language) A style sheet standard from the W3C that is used to convert an XML document into many formats for publishing and printing. XSL is similar to the Cascading Style Sheets (CSS) in HTML and is compatible with CSS2. An XML document is converted by an "XSLT Processor," also called an "XSLT Transformation Engine," into the new format based on three sets of XSL description languages, as follows:|
#1 - XSL-FO - Convert to Page Formats
The XSL Formatting Objects (XSL-FO) language is used to apply page formatting to an XML document and produce an XSL-FO document. The resulting XSL-FO file, or simply "FO file," serves as a paginated master file for conversion to page-oriented formats such as PDF, PostScript, AFP or PCL. The conversion is handled by a third-party program such as XML Engine for Print (XEP) from RenderX (www.renderx.com) or Apache Formatting Objects Processor (http://xmlgraphics.apache.org/fop).
When a user selects a PDF document on a Web page, the file may actually reside in XSL-FO format and be rendered on the fly to PDF for that user in real time. The XSL-FO format was designed to outlive proprietary page description languages and is a good choice for archiving paginated documents.
#2 - XSLT - Convert to XML, HTML and Text
The XSL Transformation Language (XSLT) is used to convert an XML document into an HTML or text document or to another XML document with a different structure. The most common XSLT transformations are from XML to HTML for rendering in a Web browser. Unlike the paginated format of XSL-FO, HTML pages are structured as scrollable windows of infinite vertical length.
If the XSLT to transform XML to HTML is embedded in an XML document, the document can be converted to HTML on the fly for rendering, just as XSL-FO can be turned into PDF on the fly for downloading.
#3 - Xpath - Select and Calculate
The XML Path Language (Xpath) is used in conjunction with XSL-FO and XSLT to select elements within an XML document. Xpath can also be used to count items; for example, how many times a particular tag occurs in the document. See XQuery, XML and CSS.
For conversion, the XML document is parsed into a tree structure, and the XSLT Processor creates a new file based on the descriptions in the XSL-FO, XSLT and Xpath components. This illustration shows the ways XSL can be applied to the document and the common outputs.
RenderX's XML Engine for Print (XEP) converts XSL-FO documents to PDF, PostScript or IBM's AFP page formats. (Image courtesy of RenderX, www.renderx.com)