Xslt XSL-FO:如何不在最后一行开始一章
我有一个包含章节和子章节的xml文档 我创建了一个XSL-FO,用ApacheFop将文档转换为PDF。在PDF中,章节总是在新页面中使用“之前打断”开始 我希望只有在至少有5-10行空闲的情况下,子章节才从一页开始:子章节不需要从新页开始,但在最后一行有标题,在下一页有第一段是很难看的 你知道怎么做吗 非常简单的XML文件示例:Xslt XSL-FO:如何不在最后一行开始一章,xslt,xsl-fo,apache-fop,Xslt,Xsl Fo,Apache Fop,我有一个包含章节和子章节的xml文档 我创建了一个XSL-FO,用ApacheFop将文档转换为PDF。在PDF中,章节总是在新页面中使用“之前打断”开始 我希望只有在至少有5-10行空闲的情况下,子章节才从一页开始:子章节不需要从新页开始,但在最后一行有标题,在下一页有第一段是很难看的 你知道怎么做吗 非常简单的XML文件示例: <document> <chapter title="Intro"> <sub-chapter title="
<document>
<chapter title="Intro">
<sub-chapter title="any-sub-title">
Any text here
</sub-chapter>
</chapter>
</document>
这里有文本吗
XSL-FO部分:
...
<xsl:for-each select="chapter">
<fo:block font-weight="bold" break-before="odd-page">
<xsl:value-of select="@title"/>
</fo:block>
<xsl:apply-templates/>
</xsl:for-each>
...
<xsl:template match="sub-chapter">
<fo:block font-weight="bold">
<xsl:value-of select="@title"/>
</fo:block>
<xsl:apply-templates/>
</xsl:template>
。。。
...
我想你要找的是。对于孤行和孤行,可以指定块中不能单独留在一页上的行数
<fo:block widows="4" orphans="4">
your content here.
</fo:block>
你的内容在这里。
使用
keep-together
或keep-with-next
属性可能会得到类似的行为。有关快速操作方法,请参见链接。这个问题可以理解吗?根据描述,您可能需要两者。在标题栏中将keep-with-next.in-page设置为“始终”,并在第一段栏中将寡妇/孤儿设置为合理的数字。这将把标题粘到段落上,并将段落的“X”行粘在一起。