XSL-FO - 空块元素
Posted
技术标签:
【中文标题】XSL-FO - 空块元素【英文标题】:XSL-FO - Empty block elements 【发布时间】:2010-11-08 03:06:31 【问题描述】:我有一个非常简单的模板:
<xsl:template match="p">
<fo:block>
<xsl:apply-templates/>
</fo:block>
</xsl:template>
即使块为空,我如何告诉 FO 保留空行。
【问题讨论】:
【参考方案1】:或者
<xsl:template match="p">
<fo:block>
<xsl:apply-templates/>
 
</fo:block>
&#x00A0;
相当于 html 中的 &nbsp;
(实际上 &nbsp;
是一个 XML 实体,定义为 A0,它是非分隔空格的 Unicode 字符)。
【讨论】:
【参考方案2】:或者,
<fo:block white-space-treatment="preserve"> </fo:block>
【讨论】:
【参考方案3】:只需在<fo:block>
的末尾添加一个<fo:leader/>
元素即可。像这样:
<xsl:template match="p">
<fo:block>
<xsl:apply-templates/>
<fo:leader />
</fo:block>
</xsl:template>
leader 不会对有内容的行做任何事情,并且会为没有内容的行创建一个空行。
使用 Apache FOP 和 XEP 测试。
【讨论】:
以上是关于XSL-FO - 空块元素的主要内容,如果未能解决你的问题,请参考以下文章