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



我需要转换一个输入字符串-

10:05:30.00

10053000

即替换":"one_answers"。"字符。

我参考了这个答案- XSLT字符串替换

,并增加了替换功能。

现在我可以像这样调用它一次-

<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()函数。

你为什么不干脆:

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

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

最新更新