ms:string-compare 函数

执行字符串比较。 因为使用 XPath 无法对两个字符串按字典顺序进行比较,所以需要此函数。

number ms:string-compare(string x, string y, [,string language _
                                             [,string options]])

参数

  • string x
    用于比较的字符串值。 在比较之前,非字符串值会转换为字符串值。
  • string y
    用于比较的字符串值。 在比较之前,非字符串值会转换为字符串值。
  • string language[可选]
    定义确定排序顺序的语言。 此参数与 <xsl:sort> lang 属性类似(例如 "en-US""fr-CA")。 如果省略此参数,或此参数为空字符串,将根据系统环境定义语言(当前线程的语言)。
  • string options[可选]
    默认情况下,比较区分大小写,先比较小写字母。

    选项 说明

    u

    使比较区分大小写,先比较大写字母。

    i

    使比较不区分字符之间所有传统差异,例如大小写、假名和宽度。 (字符宽度仅适用于某些语言。)

返回值

返回下列三个数值之一。

如果 示例函数返回

x < y

-1

x = y

0

x > y

1

备注

字符串之间按字典顺序进行比较。 指定不受支持的语言或选项会导致发生运行时错误。 对于 MSXML 组件,返回 E_FAIL。

示例

以下代码示例显示如何使用 ms:string-compare 函数比较两个字符串。 该示例将三个数字字符串(“1”、“2”和“3”)分别与“2”进行比较。 比较的结果显示在代码后面的表中。

XML 文件

XSLT 文件 (translate.xsl)

比较结果如下所示:

x, y 结果

"1" , "2"

-1

"2" , "2"

0

"3" , "2"

1

另请参见

参考

XML 架构 (XSD) 参考
XML 数据类型引用