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

时间:2010-02-18 06:00:12

标签: xml xslt

我正在尝试使用xsl:sort

对XML文档进行排序

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

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

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

dint work。

赞赏我们的想法。

2 个答案:

答案 0 :(得分:5)

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

<xsl:sort select="translate(sortOn 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')" order="ascending" />

此功能在XPath spec

中定义如下
  

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

     

translate函数返回   第一个带有出现的参数字符串   第二个参数中的字符   字符串替换为字符at   相应的位置   第三个参数字符串。

答案 1 :(得分:0)

<xsl:sort select="lower-case(sortOn)"/>怎么样?