完成XML

时间:2016-08-30 18:22:59

标签: xslt xsl-fo

我正在尝试使用xsl将xml转换为pdf以满足某些业务需求(此处无法共享该代码)。我的要求是在完成xml读取后添加分页符。在这里,我们读取相同的xml两次,并将该结果添加到单个pdf中。例如,在第一次读取xml之后我们得到2页的pdf,所以在第二次读取相同的xml时,我希望我的结果从pdf的第三页开始而不是在第二页上。任何帮助将不胜感激。

示例xml:

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
    <cd>
        <title>Empire Burlesque</title>
        <artist>Bob Dylan</artist>
    </cd>
    <cd>
        <title>Hide your heart</title>
        <artist>Bonnie Tyler</artit>
    </cd>
    <cd>
        <title>Greatest Hits</title>
        <artist>Dolly Parton</artist>       
    </cd>   
</catalog>

Say Using循环,我正在读两次相同的xml,我希望每次迭代循环的结果都在不同的页面上。

1 个答案:

答案 0 :(得分:0)

为每个fo:page-sequence生成cataloghttps://www.w3.org/TR/xsl11/#fo_page-sequence)。根据定义,每个fo:page-sequence都会启动一个新页面。

或者,第二次处理XML时,添加break-before="page"https://www.w3.org/TR/xsl11/#break-before)或page-break-before="always"https://www.w3.org/TR/xsl11/#page-break-before,以及break-before="page"的简写)从适当的元素生成的FO。