XSL-FO is about formatting XML data for output.
XSL-FO documents are XML files with output information.
XSL-FO documents are stored in files with a .fo or a .fob file extension. You can also store XSL-FO documents with an .xml extension (to make them more accessible to XML editors).
XSL-FO documents have a structure like this:
XSL-FO documents are XML documents, and must always start with an XML declaration:
The <fo:root> element is the root element of XSL-FO documents. The root element also declares the namespace for XSL-FO:
The <fo:layout-master-set> element contains one or more page templates:
Each <fo:simple-page-master> element contains a single page template. Each template must have a unique name (master-name):
One or more <fo:page-sequence> elements describe the page contents. The master-reference attribute refers to the simple-page-master template with the same name:
Note: The master-reference "A4" does not actually describe a predefined page format. It is just a name. You can use any name like "MyPage", "MyTemplate", etc.