xml – XPath中的translate和replace之间有什么区别

前端之家收集整理的这篇文章主要介绍了xml – XPath中的translate和replace之间有什么区别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在浏览一些XSLT函数并遇到两个主要命名为翻译和替换,我明白,在一天结束时,两个函数的工作都在替换声明实体上的一些内容(请在此更多地启发我).

此外,我正在编写一个XSLT,我希望用下面的一堆值替换单个值.

<div class="translate">
            <xsl:value-of select="translate(current(),' ','XXXXX')"/>
        </div>
        <div class="replace">
            <xsl:value-of select="replace(current(),'XXXXX')"/>
        </div>

翻译只添加一个X,虽然我添加了XXXXX,因为替换工作正常.

有人可以让我知道背景中发生了什么吗?

这是一个有效的样本http://xsltransform.net/6rewNxE/2

@H_301_22@解决方法
translate()和replace()之间的区别

>使用translate($s,$mapFrom,$mapTo)更改的出现次数
$mapFrom中给出的字符到$mapTo中等效位置的字符.
>使用replace($s,$pattern,$replacement)进行更改
由匹配给出的匹配子串的出现
$pattern regex到$replacement字符串.

请注意,translate()从XPath 1.0开始可用;从XPath 2.0中替换().

因此,在您的示例中:

> translate()将用’X’替换每个”(空格)字符字符,因为$mapTo字符对应于$mapFrom中”(空格)的等价位置是’X’.> replace()将替换第一个“”(单空格)子字符串使用“XXXXX”,因为文字$pattern匹配第一个出现一个“”(单空格)子串并用它替换它完整的$替换字符串.

猜你在找的XML相关文章