From W3C Wiki


Part of the W3C style group, XSL-FO is all about producing print media from XML.

Described as

an XML vocabulary for specifying formatting semantics

which in plain language means it is written in XML (an XML vocabulary) and makes statements about how a document should look (formatting semantics)

There are two parts to working with XSL-FO.

  1. An XML input document in the XSL-FO vocabulary
  2. A means of transforming that document into an output format, normally called the formatter.

Historically XSL-FO had another aspect, transformation (from one XML vocabulary to another), which has taken on a life of its own and is now known as XSLT (XML style language for transformation). XSLT still has an important part in using XSL-FO, since writing an essay or a technical document in the XSL-FO vocabulary is not easy. XSLT comes to the rescue by helping transform your input XML document into the XSL-FO language. This transformation step is quite naturally a predecessor to using XSL-FO.

The printable output format is quite commonly PDF, since this format has readers for most operating systems and produces good quality output. Other output formats are available with some formatters.