位置:海鸟网 > IT > XML >

XSL-FO 初学者教程:XSL-FO 输出和流

XSL-FO在<fo:flow>元素内部定义输出。

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)