Introduction to XSL-FO


XSL-FO is about formatting XML data for output.


What You Should Already Know

Before you study XSL-FO you should have a basic understanding of XML and XML Namespaces.

If you want to study these subjects first, please read our XML Tutorial.


What is XSL-FO?

  • XSL-FO is a language for formatting XML data
  • XSL-FO stands for Extensible Stylesheet Language Formatting Objects
  • XSL-FO is based on XML
  • XSL-FO is a W3C Recommendation
  • XSL-FO is now formally named XSL

XSL-FO is About Formatting

XSL-FO describes the formatting of XML data for output to screen, paper or other media.


XSL-FO is Formally Named XSL

Why this confusion? Is XSL-FO and XSL the same thing?

Yes it is, but we will give you an explanation:

Styling is both about transforming and formatting information. When the World Wide Web Consortium (W3C) made their first XSL Working Draft, it contained the language syntax for both transforming and formatting XML documents.

Later, the Working Group at W3C split the original draft into separate Recommendations:

  • XSLT, a language for transforming XML documents
  • XSL or XSL-FO, a language for formatting XML documents
  • XPath, a language for navigating in XML documents

The rest of this tutorial is about formatting XML documents: XSL-FO, also called XSL.


XSL-FO is a Web Standard

XSL-FO became a W3C Recommendation 15. October 2001. Formally named XSL.



Color Picker

colorpicker