XQuery FLWOR 표현식

XML 예제 문서

다음 예제에서는 이 "books.xml" 문서를 계속 사용할 것입니다(이전 장의 XML 파일과 동일합니다).

"books.xml" 파일을 브라우저에서 확인하세요.

FLWOR를 사용하여 "books.xml"에서 노드를 선택하면

다음 경로 표현식을 보세요:

doc("books.xml")/bookstore/book[price>30]/title

위의 표현식은 bookstore 요소 아래의 book 요소 아래의 모든 title 요소를 선택하고, price 요소의 값이 30보다 큰 경우를 포함합니다.

다음 FLWOR 표현식은 위의 경로 표현식과 동일한 데이터를 선택합니다:

for $x in doc("books.xml")/bookstore/book
where $x/price>30
return $x/title

결과는 다음과 같습니다:

<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>

FLWOR를 통해 결과를 정렬할 수 있습니다:

for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title

FLWOR은 "For, Let, Where, Order by, Return"의 첫 글자를 추출한 약자입니다.

for 구문은 bookstore 요소 아래의 모든 book 요소를 $x이라는 변수에 추출합니다.

where 구문은 price 요소의 값이 30보다 큰 book 요소를 선택합니다.

order by 구문이 정렬 순서를 정의했습니다. title 요소에 따라 정렬됩니다.

return 문장이 무엇을 반환하도록 규정합니다. 이번에는 title 요소를 반환합니다.

위의 XQuery 표현식의 결과:

<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>