XSL-FO Output
XSL-FO defines output inside the <fo:flow> element.
XSL-FO Pages, Flows, and Blocks
Content "blocks" "flow" into "pages", and then output to the medium.
XSL-FO output is usually nested inside a <fo:block> element, <fo:block> is nested inside a <fo:flow> element, and <fo:flow> is nested inside a <fo:page-sequence> element:
<fo:page-sequence>
<fo:flow flow-name="xsl-region-body">
<fo:block>
<!-- Output goes here -->
</fo:block>
</fo:flow>
</fo:page-sequence>
<fo:flow flow-name="xsl-region-body">
<fo:block>
<!-- Output goes here -->
</fo:block>
</fo:flow>
</fo:page-sequence>
XSL-FO Example
Now let's look at a real XSL-FO example:
<?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">
<fo:region-body />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
<fo:flow flow-name="xsl-region-body">
<fo:block>Hello EXAMPLE</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="A4">
<fo:region-body />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
<fo:flow flow-name="xsl-region-body">
<fo:block>Hello EXAMPLE</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
The output of the above code is as follows:
Hello EXAMPLE
Other Extensions