XSL-FO Documents
XSL-FO documents are XML files with output information.
XSL-FO Documents
XSL-FO documents are XML files with output information. They contain
information about the output layout and output contents.
XSL-FO documents are stored in files with a .fo or a .fob file extension. It is
also quite common to see XSL-FO documents stored with an .xml extension,
because this makes them more accessible to XML editors.
XSL-FO Document Structure
XSL-FO documents have a structure like this:
<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="A4">
<!-- Page template goes here -->
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
<!-- Page content goes here -->
</fo:page-sequence>
</fo:root>
|
Structure explained
XSL-FO documents are XML documents, and must always start with an XML
declaration:
<?xml version="1.0" encoding="ISO-8859-1"?>
|
The <fo:root> element is the root element of XSL-FO documents. The root
element also declares the namespace for XSL-FO:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<!-- The full XSL-FO document goes here -->
</fo:root>
|
The <fo:layout-master-set> element contains one or more page templates:
<fo:layout-master-set>
<!-- All page templates go here -->
</fo:layout-master-set>
|
Each <fo:simple-page-master> element contains a single page template.
Each template must have a unique name (master-name):
<fo:simple-page-master master-name="A4">
<!-- One page template goes here -->
</fo:simple-page-master>
|
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:
<fo:page-sequence master-reference="A4">
<!-- Page content goes here -->
</fo:page-sequence>
|
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.
Learn XML with <oXygen/> XML Editor - Free Trial!
 |
|
oXygen helps you learn to define,
edit, validate and transform XML documents. Supported technologies include XML Schema,
DTD, Relax NG, XSLT, XPath, XQuery, CSS.
Understand in no time how XSLT and XQuery work by using the intuitive oXygen debugger!
Do you have any XML related questions? Get free answers from the oXygen
XML forum
and from the video
demonstrations.
Download a FREE 30-day trial today!
|
|