【问题标题】:XSL-FO - Empty block elementsXSL-FO - 空块元素
【发布时间】:2010-11-08 03:06:31
【问题描述】:

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

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

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

【问题讨论】:

    标签: xsl-fo


    【解决方案1】:

    或者

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

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

    【讨论】:

      【解决方案2】:

      或者,

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

      【讨论】:

        【解决方案3】:

        只需在&lt;fo:block&gt; 的末尾添加一个&lt;fo:leader/&gt; 元素即可。像这样:

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

        leader 不会对有内容的行做任何事情,并且会为没有内容的行创建一个空行。

        使用 Apache FOP 和 XEP 测试。

        【讨论】:

          猜你喜欢
          • 2017-06-19
          • 1970-01-01
          • 2014-11-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-05
          相关资源
          最近更新 更多