The Extensible Markup Language (XML) originally grew out of the technical publication community. People had been using the larger, more complex SGML standard to publish technical documentation, manuals, financial reports, books and much more, but they needed something that would fit in better with the World Wide Web, and that would have a lower total cost.
The Extensible Stylesheet Language (XSL) came out of earlier work at ISO on DSSSL, the Document Styling and Semantics Specification Language, but adapted for XML.
XSL is in two parts. The first part, XSLT, is used to transform XML documents into something that one can see how to format: in fact, for publishing, into the XML vocabulary that is the second part of XSL: XSL-FO.
XSL-FO, the Formatting Objects part of XSL, is an XML markup language for describing page layout and formatting.
You can use XSL-FO to publish even large or complex multilingual XML documents to HTML, PDF or other formats; you can include SVG diagrams and MathML formulas, as well as other foreign objects.
You can find XSL-FO in use wherever automated publishing is needed: everything from bank statements to driving licenses, from text books to database reports. XSL-FO is also used by some organizations for brochures and magazines; it has more sophisticated formatting than HTML and CSS, but is still a standard.
Learn more about the current status of specifications related to:
These W3C Groups are working on the related specifications: