부울, 비교 및 집합 식
필터 패턴에는 부울 식, 비교 식 및 집합 식이 포함될 수 있습니다. 다음 표에 나열된 바로 가기는 이 XSLT(XSL Transformations) 구현에서 제공되는 대체 기호를 나타냅니다. 이 설명서에서는 이러한 식 연산자에 대해 설명합니다.
연산자 | 설명 |
---|---|
|
논리곱 |
|
논리합 |
|
부정 |
|
같음 |
|
같지 않음 |
|
보다 작음 |
|
작거나 같음 |
|
보다 큼 |
|
크거나 같음 |
|
집합 연산. 두 노드 집합의 합집합을 반환합니다. |
* 확장 XPath 메서드
연산자 키워드에 대한 W3C(World Wide Web 컨소시엄) 구문에서는 버전 2.5에서 사용된 달러 기호($
)가 아닌 기타 구분 기호 및 공백을 사용합니다. W3C 구문에서 $xxx$ 형식의 이진 키워드를 wsxxxws로 나타낼 수 있습니다. 여기서 ws는 공백, 작은따옴표('
) 또는 큰따옴표("
)일 수 있는 토큰 종료자를 참조합니다. not()
과 같은 단항 연산자는 함수 표기법을 사용합니다. Microsoft에서는 두 구문을 모두 지원하지만 이후 버전과의 호환성을 위해 W3C 구문을 사용하는 것이 좋습니다.
다음 표에서는 비교 연산자와 부울 연산자에 대한 우선 순위를 우선 순위가 높은 것부터 순서대로 보여 줍니다.
우선 순위 | 연산자 | 설명 |
---|---|---|
1 |
|
그룹화 |
2 |
|
필터 |
3 |
|
경로 연산 |
4 |
|
비교 |
5 |
|
비교 |
6 |
|
통합 |
7 |
|
부울 not |
8 |
|
부울 and |
9 |
|
부울 or |
XSLT 스타일시트와 같은 XML 문서에서 연산자를 사용하는 경우 <
및 >
토큰을 각각 <
및 >
로 이스케이프해야 합니다. 예를 들어, 다음 XSLT 명령은 <price>
요소의 숫자 값이 10보다 작거나 같은 모든 <book>
요소에 대해 XSLT 템플릿 규칙을 호출합니다.
<xsl:apply-templates select="book[price <= 10]"/>
DOM에 XPath 식을 사용할 경우 < 및 > 연산자를 이스케이프하지 않아도 됩니다. 예를 들어, 다음 JScript 문은 <price>
요소의 숫자 값이 10보다 작거나 같은 모든 <book>
요소를 선택합니다.
var cheap_books = dom.selectNodes("book[price <= 10]");
부울 식을 사용하여 특정 값의 모든 노드나 전체 노드를 특정 범위 내의 노드와 결합할 수 있습니다. 다음은 false를 반환하는 부울 식의 예제입니다.
1 >= 2
연산자는 대/소문자를 구분합니다.
논리곱과 논리합
부울 연산자 and
와 or
는 각각 논리곱과 논리합 연산을 수행합니다. 이러한 연산자를 그룹화 괄호와 함께 사용하여 보다 복잡한 논리 식을 빌드할 수 있습니다.
예제
식 | 참조 항목 |
---|---|
|
|
|
|
부울 not
부울 not
연산자는 필터 패턴 내에서 식의 값을 부정합니다.
예제
식 | 참조 항목 |
---|---|
|
|
author[not(degree or award) and publication] |
|
예제
XML 파일(test.xml)
XSLT 파일(test.xsl)
다음 XSLT 스타일시트는 특성이 없는 모든 <x> 요소를 선택합니다.
출력
위의 XML 파일에 변환을 적용하면 다음 결과가 나타납니다.