XSL-FO output
XSL-FO defines the output inside the <fo:flow> element.
XSL-FO Page, Flow and Block
The content "block" will "flow" into the "page", and then Output to media.
XSL-FO output is typically nested within <fo:block> elements, <fo:block> is nested within <fo:flow> elements, <fo:flow> is nested within Within the <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 W3CSchool</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 W3CSchool</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
The output of the above code is as follows:
Hello W3CSchool