在执行xsl:sort时忽略大小写

Nis*_*han 3 xml xslt

我正在尝试使用xsl:sort对XML文档进行排序

我的要求是在进行排序时忽略大小写.xsl:sort有一个case-order属性,它有助于指定upper-first或lower-first,这对我没用.

我也试过使用翻译功能,如下所示:

<xsl:sort select="translate('abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ',sortOn)" order="ascending" />";
Run Code Online (Sandbox Code Playgroud)

工作也是.

赞赏的想法.

Lac*_*che 6

您的翻译功能的参数顺序错误.

<xsl:sort select="translate(sortOn 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')" order="ascending" />
Run Code Online (Sandbox Code Playgroud)

此函数在XPath规范中定义如下:

功能:字符串翻译(字符串,字符串,字符串)

translate函数返回第一个参数字符串,第二个参数字符串中出现的字符由第三个参数字符串中相应位置的字符替换.