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에서는 값을 비교하는 두 가지 방법이 있습니다.

  1. 일반 비교: =, !=, <, <=, >, >=
  2. 값 비교: eq, ne, lt, le, gt, ge

이 두 가지 비교 방법의 차이점은 다음과 같습니다:

아래의 XQuery 표현식을 참조하세요:

$bookstore//book/@q > 10

q 속성의 값이 10보다 크다면, 위 표현식의 반환 값은 true입니다.

$bookstore//book/@q gt 10

q 가 하나만 반환되고 그 값이 10보다 크다면, 표현식은 true를 반환합니다. 여러 개의 q 가 반환되면 오류가 발생합니다.