XSL-FO 页面(Page)、流(Flow)以及块(Block)
内容“块”会“流”入“页面”中,然后输出到媒介。
XSL-FO输出通常被嵌套在<fo:block>元素中,<fo:block>嵌套于<fo:flow>元素中,<fo:flow>嵌套于<fo:page-sequence>元素中:
以下为引用的内容:
<fo:page-sequence>
<fo:flow flow-name="xsl-region-body">
<fo:block>
<!-- Output goes here -->
</fo:block>
</fo:flow>
</fo:page-sequence>
XSL-FO 实例
现在让我们看一个真实的XSL-FO实例:
以下为引用的内容:
<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="">
<fo:layout-master-set>
<fo:simple-page-master master-name="A4">
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
<fo:flow flow-name="xsl-region-body">
<fo:block>Hello W3Schools</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
XSL-FO页面使用来自<fo:flow>元素的数据进行填充。
XSL-FO 页面顺序
XSL-FO使用<fo:page-sequence>元素来定义输出页面。
每个输出页面都会引用一个定义布局的page master。
每个输出页面均有一个定义输出的<fo:flow>元素。
每个输出页面均会按顺序(序列)被打印或显示。
XSL-FO Flow(流)
XSL-FO页面使用来自<fo:flow>元素的数据进行填充。
<fo:flow>包含所有被打印到页面的元素。
当页面被印满以后,相同的page master会被一遍又一遍地被使用,直到所有页面的页面被打印为止。
流动到何处?
<fo:flow>元素有一个名为"flow-name"的属性。
flow-name属性的值定义<fo:flow>元素的内容会去往何处。
合法的值:
xsl-region-body (进入region-body)
xsl-region-before (进入region-before)
xsl-region-after (进入region-after)
xsl-region-start (进入region-start)
xsl-region-end (进入region-end)