加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 23:12:39 所属栏目:百科 来源:网络整理
导读:我正在浏览一些XSLT函数并遇到两个主要命名为翻译和替换,我明白,在一天结束时,两个函数的工作都在替换声明实体上的一些内容(请在此更多地启发我). 此外,我正在编写一个XSLT,我希望用下面的一堆值替换单个值. div class="translate" xsl:value-of select="tra
我正在浏览一些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

解决方法

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匹配第一个出现一个“”(单空格)子串并用它替换它完整的$替换字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读