Html 在XSL-FO中,如何避免在块之前出现分页符?
我正在使用XSL将带有段落和块引号的HTML转换为FO 我如何避免段落和下面的块引号之间出现分页符 块引号后面的分页符可以 例如:Html 在XSL-FO中,如何避免在块之前出现分页符?,html,xml,xslt,xsl-fo,Html,Xml,Xslt,Xsl Fo,我正在使用XSL将带有段落和块引号的HTML转换为FO 我如何避免段落和下面的块引号之间出现分页符 块引号后面的分页符可以 例如: <p> Some paragraph..</p> <blockquote>My reference</blockquote> <p> Another paragraph..</p> <blockquote>My reference</blockquote> 某个段落 我
<p> Some paragraph..</p>
<blockquote>My reference</blockquote>
<p> Another paragraph..</p>
<blockquote>My reference</blockquote>
某个段落
我的推荐人
另一段
我的推荐人
我认为最简单的方法是用fo:block
包装要保存在一起的元素,并添加keep with next。在page=“always”
属性中,如图所示:
... p和blockquote元素的内容
您需要在由正常p
生成的块和由blockquote
生成的块之间使用所谓的a
特别是,由于p
是一个通用标记,我认为最好的选择是在为blockquote
HTML元素生成的fo:block
中使用属性keep with previous.inthepage=“always”
如果使用XSLT创建XSL-FO输出,则需要类似的内容(可能需要调整名称空间):
<fo:block keep-with-next.within-page="always">
... content of p and blockquote elements
</fo:block>
<xsl:template match="blockquote">
<fo:block keep-with-previous.within-page="always" ...other attributes...>
<xsl:apply-templates/>
</fo:block>
</xsl:template>