繁体   English   中英

如何避免XSL-FO中的块之前出现分页符?

[英]How to avoid page breaks before a block in XSL-FO?

我正在使用XSL将带段落的HTML转换为带有FOOT的段落引用。

如何避免在段落和后面的块引用之间出现分页符?

块引用后的分页符很好。

例:

<p> Some paragraph..</p>
<blockquote>My reference</blockquote>
<p> Another paragraph..</p>
<blockquote>My reference</blockquote>

您需要在正常p生成的块与blockquote生成的块之间的保持条件

特别地,由于p是通用标记,所以我认为最好的选择是在为blockquote HTML元素生成的fo:block使用属性keep-with-previous.within-page="always"

如果使用XSLT创建XSL-FO输出,则需要类似以下内容(可能需要调整名称空间):

<xsl:template match="blockquote">
    <fo:block keep-with-previous.within-page="always" ...other attributes...>
        <xsl:apply-templates/>
    </fo:block>
</xsl:template>

我认为最简单的办法是包你想用共同保持的元素fo:block ,并添加keep-with-next.within-page="always"属性,如图所示在这里

<fo:block keep-with-next.within-page="always">
    ... content of p and blockquote elements
</fo:block>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM