XQuery 문법

XQuery는 대소문자 구분을 합니다. XQuery의 요소, 속성 및 변수는 유효한 XML 이름이어야 합니다.

XQuery의 기본 문법 규칙:

일부 기본 문법 규칙:

  • XQuery는 대소문자 구분을 합니다.
  • XQuery의 요소, 속성 및 변수는 유효한 XML 이름이어야 합니다.
  • XQuery 문자열 값은 단락 quote나 double 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>

Please note the syntax of "If-Then-Else": parentheses after the if expression are required. 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가 반환되면 오류가 발생합니다.