我正在尝试使用xsl:sort
对XML文档进行排序我的要求是在进行排序时忽略大小写。 xsl:sort有一个case-order属性,有助于指定upper-first或lower-first,这对我没用。
我也尝试使用翻译功能,如下所示:
<xsl:sort select="translate('abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ',sortOn)" order="ascending" />";
dint work。
赞赏我们的想法。
答案 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)"/>
怎么样?