我正在使用XSL将带有段落然后使用blockquotes的HTML转换为FO。
如何避免段落与后面的块引用之间的分页?
块引用后的分页符很好。
示例:
<p> Some paragraph..</p>
<blockquote>My reference</blockquote>
<p> Another paragraph..</p>
<blockquote>My reference</blockquote>
答案 0 :(得分:1)
您需要在正常p
生成的块与blockquote
生成的块之间称为keep condition。
特别是,由于p
是一个通用标记,我认为最好的选择是使用为keep-with-previous.within-page="always"
HTML生成的fo:block
中的属性blockquote
元件。
如果您使用XSLT创建XSL-FO输出,则需要这样的内容(您可能需要调整名称空间):
<xsl:template match="blockquote">
<fo:block keep-with-previous.within-page="always" ...other attributes...>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
答案 1 :(得分:0)
我认为最简单的方法是使用fo:block
将要保留的元素包装起来,然后添加keep-with-next.within-page="always"
属性,如图here所示:
<fo:block keep-with-next.within-page="always">
... content of p and blockquote elements
</fo:block>