这是xslt 1.0 FO的新手问题
我的要求: 在每页上将页码打印为页脚
我遵循了这个模板:
<?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="my-page">
<fo:region-body margin="1in"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="my-page">
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end">
Page <fo:page-number/>
of <fo:page-number-citation ref-id="terminator"/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block>Hello, world!</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
我希望在每个页面的顶部看到页码(即使它只有1页) 但我所看到的只是
你好,世界的页面!
如何更正我的xslt以显示页码?
答案 0 :(得分:1)
首先:您还没有在页面主文件中定义任何region-before。
<fo:simple-page-master master-name="my-page">
<fo:region-body margin="1in"/>
<fo:region-before extent="1in"/>
</fo:simple-page-master>
现在您有一个区域可以放置该内容。
接下来,这个:
<fo:page-number-citation ref-id="terminator"/>
除非你的文件中有一些名为“终结者”的“id”,否则永远不会有效。以下是一个完整的例子。
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="my-page">
<fo:region-body margin="1in"/>
<fo:region-before extent="1in"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="my-page">
<fo:static-content flow-name="xsl-region-before">
<fo:block text-align="end">
Page <fo:page-number/>
of <fo:page-number-citation ref-id="terminator"/>
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block>Hello, world!</fo:block>
<fo:block id="terminator"></fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>