我使用此代码进行两级编号,例如" 1.1。第一章",例如。
<fo:inline>
<xsl:number from="Book" count="Chapter"/>.
<xsl:number from="Chapter" count="Chapter"/>.
<xsl:text> </xsl:text>
<xsl:apply-templates select="....."/>
</fo:inline>
但我发现此代码生成以下文本:
1. 1. Chapter One
- xsl:number元素之间有空格。这就是我不想发生的事情。 我已经
了<xsl:strip-space elements="*"/>
但它没有任何帮助。
如何摆脱这些寄生虫空间?
答案 0 :(得分:2)
在.
代码
xsl:text
<fo:inline>
<xsl:number from="Book" count="Chapter"/><xsl:text>.</xsl:text>
<xsl:number from="Chapter" count="Chapter"/><xsl:text>.</xsl:text>
<xsl:text> </xsl:text>
<xsl:apply-templates select="....."/>
</fo:inline>
答案 1 :(得分:0)
一种简单的方法是避免使用标记之外的新行:
<fo:inline>
<xsl:number from="Book" count="Chapter"/>.<xsl:number
from="Chapter" count="Chapter"/>.
<xsl:apply-templates select="....."/>
</fo:inline>
你肯定不需要<xsl:text>
,因为你会在那里得到换行符。虽然如果你不想换行,你可以再次删除它:
<fo:inline>
<xsl:number from="Book" count="Chapter"/>.<xsl:number
from="Chapter" count="Chapter"/>. <xsl:apply-templates
select="....."/>
</fo:inline>