我正在尝试弄清楚如何正确地做到这一点。我尝试在代码中使用处理指令,但似乎它们根本被忽略了。
正文中:
end of a paragraph.<?linebreak?></p>
至于模板,我尝试过:
<xsl:template match="processing-instruction('linebreak')">
<fo:block>
<xsl:apply-templates/>
<fo:leader/>
</fo:block>
</xsl:template>
或者只是为了测试目的:
<xsl:template match="processing-instruction('linebreak')">
<fo:block>XXXX</fo:block>
</xsl:template>
无论我做什么,模板都不会被使用。
我在 eXist-db 应用程序 (3.0RC1) 中使用它,但我认为这与 eXist-db 无关。有FOP 1.1。我不确定撒克逊版本。
最佳答案
传统上,您不会在段落末尾插入换行符。相反,您指定例如space-below="12pt"位于包含该段落的 fo:block 上。
即使您不想要,也始终会插入换行符(例如,当段落放置在页面底部并且换行符将换行到下一页时。下面的空格可以是有条件的,因此如果该空间出现在页面底部,则会折叠起来。这会带来更好看的布局。
关于xslt - 如何在XSL-FO中正确插入空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42650187/