首页 > 解决方案 > XSLT 1.0 删除前导和尾随空格

问题描述

我必须使用 XSL 1.0 删除前导和尾随空格

不能为此使用规范化空间。

并尝试了下面的代码

<xsl:template match="text()">
<xsl:value-of select="replace(.,'^\s+|\s+$','')"/>
</xsl:template>

在命令开始实际映射之前

但无济于事

如何做到这一点?

标签: xslttrim

解决方案


一种可能的解决方案是使用normalize-space() 函数(即使在XSLT 1.0中也可以使用)。

它做得更多,即它用 一个空格替换内部的多个白色字符。

要将其应用于所有文本节点,请添加这样一个模板:

<xsl:template match="text()">
    <xsl:value-of select="normalize-space()"/>
</xsl:template>

但是如果你也有身份模板,上面的模板必须在你的脚本中身份模板之后


推荐阅读