ms:string-compare 함수
문자열을 비교합니다. XPath를 사용하여 두 문자열을 사전순으로 비교할 수 없기 때문에 이 함수가 필요합니다.
number ms:string-compare(string x, string y, [,string language _
[,string options]])
매개 변수
- string x
비교할 문자열 값입니다. 비교하기 전에 비문자열 값은 문자열 값으로 변환됩니다.
- string y
비교할 문자열 값입니다. 비교하기 전에 비문자열 값은 문자열 값으로 변환됩니다.
- string language[옵션]
정렬 순서를 결정하는 언어를 정의합니다. 이 매개 변수는"en-US"
,"fr-CA"
등의<xsl:sort> lang
특성과 유사합니다. 이 매개 변수를 생략한 경우 또는 매개 변수가 빈 문자열인 경우 시스템 환경에 의해 현재 스레드의 언어로 언어가 정의됩니다.
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 |