XQuery 문법
XQuery는 대소문자를 구분하며, XQuery의 요소, 속성 및 변수는 유효한 XML 이름이어야 합니다.
XQuery 기본 문법 규칙:
일부 기본 문법 규칙:
- XQuery는 대소문자를 구분합니다.
- XQuery의 요소, 속성 및 변수는 유효한 XML 이름이어야 합니다.
- XQuery 문자열 값은 단Quote나双子Quote를 사용할 수 있습니다.
- XQuery 변수는 "$"와 이름으로 정의됩니다. 예를 들어, $bookstore
- XQuery 주석은 (:와 :)로 분리됩니다. 예를 들어, (: XQuery 주석 :)
XQuery 조건 표현식
"If-Then-Else"는 XQuery에서 사용할 수 있습니다.
보여드리는 예제를 확인해 주세요:
for $x in doc("books.xml")/bookstore/book return if ($x/@category="CHILDREN") then <child>{data($x/title)}</child> else <adult>{data($x/title)}</adult>
"If-Then-Else" 문법에 주의하세요: if 표현식 뒤의 괄호는 필수입니다. else도 필수이지만, "else ()"라고 쓰기도 됩니다.
위 예제의 결과는 다음과 같습니다:
<adult>Everyday Italian</adult> <child>Harry Potter</child> <adult>Learning XML</adult> <adult>XQuery Kick Start</adult>
XQuery 비교
XQuery에서는 값을 비교하는 두 가지 방법이 있습니다.
- 일반 비교: =, !=, <, <=, >, >=
- 값 비교: eq, ne, lt, le, gt, ge
이 두 가지 비교 방법의 차이점은 다음과 같습니다:
아래의 XQuery 표현식을 참조하세요:
$bookstore//book/@q > 10
q 속성의 값이 10보다 크다면, 위 표현식의 반환 값은 true입니다.
$bookstore//book/@q gt 10
q 가 하나만 반환되고 그 값이 10보다 크다면, 표현식은 true를 반환합니다. 여러 개의 q 가 반환되면 오류가 발생합니다.