XQuery 예제

이 절에서 예제를 통해 기본적인 XQuery 문법을 배웁니다.

XML 예제 문서

아래의 예제에서 이 XML 문서를 사용하겠습니다.

"books.xml" :

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>
<book category="CHILDREN">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>
<book category="WEB">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>
<book category="WEB">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>
</bookstore>

您的浏览器中查看 "books.xml" 文件

"books.xml"에서 노드를 어떻게 선택하나요?

함수

XQuery는 XML 문서에서 데이터를 추출하기 위해 함수를 사용합니다。

doc()는 "books.xml" 파일을 엽니다:

doc("books.xml")

경로 표현식

XQuery는 XML 문서에서 요소를 통해 탐색하기 위해 경로 표현식을 사용합니다。

아래의 경로 표현식은 "books.xml" 파일에서 모든 title 요소를 선택합니다:

doc("books.xml")/bookstore/book/title

(/bookstore는 bookstore 요소를 선택하고, /book은 bookstore 요소 아래의 모든 book 요소를 선택하고, /title은 각 book 요소 아래의 모든 title 요소를 선택합니다)

위의 XQuery는 다음 데이터를 추출할 수 있습니다:

<title lang="en">Everyday Italian</title>
<title lang="en">Harry Potter</title>
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>

표현식

XQuery는 XML 문서에서 추출할 데이터를 제한하기 위해 표현식을 사용합니다。

아래의 표현식은 bookstore 요소 아래의 모든 book 요소를 선택하고, 선택된 book 요소 아래의 price 요소의 값이 30보다 작아야 합니다:

doc("books.xml")/bookstore/book[가격<30]

위의 XQuery는 다음 데이터를 추출할 수 있습니다:

<book category="CHILDREN">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>