如果使用normalize-space()
函數,結果是字符串的所有前導和尾隨空格字符被刪除。
但是,它也用一個空格字符替換任何中間空白字符組。
如果你不想要最後提到的效果,那麼一種解決方案是使用FXSL 1.x(FXSL完全寫在XSLT 1.0中)的模板函數。
下面是使用trim
模板/功能的一個小例子:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:import href="trim.xsl"/>
<!-- to be applied on trim.xml -->
<xsl:output method="text"/>
<xsl:template match="/">
'<xsl:call-template name="trim">
<xsl:with-param name="pStr" select="string(/*)"/>
</xsl:call-template>'
</xsl:template>
</xsl:stylesheet>
當下面的XML文檔應用這種轉變:
<someText>
This is some text
</someText>
想要的,正確的結果產生:
'This is some text'