XSL-FO - 空块元素

时间:2009-07-04 17:07:58

标签: xsl-fo

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

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

即使块是空的,如何告诉FO保持空行。

3 个答案:

答案 0 :(得分:33)

只需在<fo:leader/>的末尾添加<fo:block>元素即可。像这样:

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

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

使用Apache FOP和XEP进行测试。

答案 1 :(得分:11)

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

&#x00A0;相当于HTML中的&nbsp;(实际上&nbsp;是一个XML实体,定义为A0,它是非中断空间的Unicode字符。)

答案 2 :(得分:9)

或者,

<fo:block white-space-treatment="preserve"> </fo:block>