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 |