Flowing Content into the Pages
Next, add an fo:flow
child to the fo:page-sequence where the actual text of
the transformed document appears. This element has a flow-name attribute specifying which
region of the page its content will flow into. Possible values
include xsl-region-body, xsl-region-start, xsl-region-end, xsl-region-before, and xsl-region-after.
The formatter instantiates a page based on the page master
named by the fo:page-sequence’s
master-reference attribute, fills
one of its regions with content from the fo:flow element until the page is full,
then instantiates a second page, fills it with more content from the
fo:flow, instantiates a third
page, and continues this process until it’s used up all the data in
the fo:flow.
The fo:flow element must
contain block-level formatting object elements. The most basic
of these is fo:block. Others
include fo:block-container,
fo:list-block, fo:table, and fo:table-and-caption. We’ll begin with the
most basic, fo:block. A fo:block can contain a combination of raw
text and formatting objects, such as fo:external-graphic, fo:inline, fo:page-number, fo:footnote, and even other fo:block elements. For the moment, we’ll
restrict ourselves to simple text. For example, here’s a basic
fo:flow for the recipe:
<fo:flow flow-name="xsl-region-body">
<fo:block>Southern Corn Bread</fo:block>
<fo:block>1 cup flour</fo:block>
<fo:block>4 tablespoons Royal Baking Powder</fo:block>
<fo:block>1/2 teaspoon salt</fo:block> <fo:block>1 cup corn meal</fo:block> ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access