大家好我想用xslt my xml文件转换成xsl:fo文件。我的问题是如何在每页之后切换左右页面(替换)的标题。
现在我的解决方案我只得到一个页面。
我使用Saxon HE和xslt 2.0
我的xsl:fo文件:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<!-- Right Page -->
<fo:simple-page-master master-name="rightPage">
<fo:region-body region-name="body" margin="20mm 0mm 20mm 0mm"/>
<fo:region-before region-name="rightPageHeader" extent="5in"/>
</fo:simple-page-master>
<!-- Left Page -->
<fo:simple-page-master master-name="leftPage">
<fo:region-body region-name="body" margin="20mm 0mm 20mm 0mm"/>
<fo:region-before region-name="leftPageHeader" extent="5in"/>
</fo:simple-page-master>
<fo:page-sequence-master master-name="pages">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference master-reference="rightPage" odd-or-even="odd"/>
<fo:conditional-page-master-reference odd-or-even="even" master-reference="leftPage"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="pages">
<fo:static-content flow-name="rightPageHeader">
<fo:block>
<fo:block text-align="left" font-weight="bold">Standard configuration</fo:block>
<fo:block text-align="right">
<fo:external-graphic src="headerHico.jpg" height="2.00in" width="2.00in"/>
</fo:block>
</fo:block>
</fo:static-content>
<fo:static-content flow-name="leftPageHeader">
<fo:block>
<fo:block text-align="left">
<fo:external-graphic src="headerHico.jpg" height="2.00in" width="2.00in"/>
</fo:block>
</fo:block>
</fo:static-content>
<fo:flow flow-name="body">
<fo:block>
<xsl:apply-templates select="/"/>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
我希望有人可以帮助我:)。
答案 0 :(得分:0)
您的页面几何定义正确。
但是,如果您的内容很短且适合单个页面,将只创建一个页面(使用rightPage
主页)。
如果您要测试这两种类型的网页,可以在现有网页之后添加此fo:block
:
<fo:block break-before="page">
This will be placed on another page.
</fo:block>
次要观察:目前,两个页面母版中的region-before
都高于region-body
的上边距(5英寸> 20毫米),这可能导致如果标题包含许多行,则重叠
我通常会在创建新background-color
时为每个页面区域设置不同的page-master
,以便我可以轻松查看其维度,直到我对结果满意为止。< / p>