17

我有一个非常简单的模板:

<xsl:template match="p">
    <fo:block>
        <xsl:apply-templates/>
    </fo:block>
</xsl:template>

即使块为空,我如何告诉 FO 保留空行。

4

3 回答 3

35

只需<fo:leader/><fo:block>. 像这样:

<xsl:template match="p">
        <fo:block>
                <xsl:apply-templates/>
                <fo:leader />
        </fo:block>
</xsl:template>

领导者不会对有内容的行执行任何操作,并且会为没有内容的行创建一个空行。

使用 Apache FOP 和 XEP 测试。

于 2009-08-07T12:50:14.643 回答
11

或者

<xsl:template match="p">
    <fo:block>
            <xsl:apply-templates/>
            &#x00A0;
    </fo:block>

&#x00A0;相当于&nbsp;HTML 中的(实际上&nbsp;是定义为 A0 的 XML 实体,它是 Non Breaking Space 的 Unicode 字符)。

于 2010-01-12T00:32:08.500 回答
9

或者,

<fo:block white-space-treatment="preserve"> </fo:block>
于 2009-12-10T00:01:17.120 回答