2010-01-11 15 views

回答

3

使用

<xsl:strip-space elements="*"/> 

是一個好主意。

所以被指定輸出的詳細信息:

<xsl:output 
    indent="no" 
    method="html"/> 

如果以上還不夠好,你可以嘗試改變text()節點(沿的DocBook的架構的思路思考,其中的任何文本的處理你想明確地將是<para/>標籤,或類似):

<xsl:template match="chapter/text()"/> 

您可以只使用match="text()"但可能是過於激進,因爲它是非常模糊的 - 它不一定會殺文本您希望(同樣,在您的<para/>標籤或類似文件中),因爲這些文本節點可能會被XSLT的內置模板隱式處理。

8

您應該能夠使用strip-space

<xsl:strip-space elements="*"/> 
1

你應該

<xsl:strip-space elements="*"/> 
2

xsl:strip-space去會讓你從結果樹去掉空格。還要確保在樣式表中不會生成額外的空格。也就是說,要確保,而不是像

<xsl:value-of select="@key"/> 
: 
<xsl:value-of select="@value"/> 

使用xsl:text

<xsl:value-of select="@key"/> 
<xsl:text>: </xsl:text> 
<xsl:value-of select="@value"/>