You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在XSLT的列表中转义撇号(')字符?

解决XSLT列表中撇号(')的转义问题

在XSLT里,当用单引号定义字符串时,字符串内部的撇号不能直接书写,必须用两个连续的单引号来转义——这是XSLT的标准规则,反斜杠在这里不生效。

给你两种可行的修正方案:

方案一:转义单引号

把原代码里的'Fruit's 13'改成'Fruit''s 13',用两个单引号替代单个撇号,修正后的完整代码如下:

<xsl:param name="unsorted-values" as="xs:string*" select="'Apple','Banana','Fruit''s 13'"/>

<xsl:param name="values" as="xs:string*">
    <xsl:perform-sort select="$unsorted-values">
        <xsl:sort select="string-length()" order="descending"/>
    </xsl:perform-sort>
</xsl:param>

方案二:改用双引号包裹字符串

如果将select属性的外层引号换成双引号,字符串内部的单引号就无需转义(XML属性用双引号时,内部单引号不会被解析为属性结束符),代码示例:

<xsl:param name="unsorted-values" as="xs:string*" select='"Apple","Banana","Fruit's 13"'"/>

<xsl:param name="values" as="xs:string*">
    <xsl:perform-sort select="$unsorted-values">
        <xsl:sort select="string-length()" order="descending"/>
    </xsl:perform-sort>
</xsl:param>

两种方法都能解决问题,根据个人习惯选择即可。

内容的提问来源于stack exchange,提问作者Adrian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:01:05