如何在XSLT 1.0中调用两次自定义替换函数?

时间:2016-08-26 23:24:48

标签: xml xslt xml-parsing xslt-1.0

我需要转换输入字符串 -

10:05:30.00

10053000

即替换“:”和“。”字符。

我提到了这个答案 - XSLT string replace

并添加了替换功能。

现在我可以像这样召唤一次 -

<xsl:call-template name="replace-string">
                            <xsl:with-param name="text" select="fruits/apples"/>
                            <xsl:with-param name="replace" select="':'" />
                            <xsl:with-param name="with" select="''"/>
                          </xsl:call-template>

并返回此值 -

100530.00

我怎样才能再次调用它,我可以将替换字符串指定为“。”这样就删除了这个角色。请注意我必须使用XSLT 1.0,因此我无法访问XSLT 2.0中的replace()函数。

1 个答案:

答案 0 :(得分:3)

你为什么不这样做:

translate ($string, ':.', '')

要实际替换多个子字符串(每个子字符多个字符串),递归模板必须执行两个嵌套循环 - 外部循环标记 {{ 1}}和/或search-strings参数。