Halimbawa ng XQuery

Sa Seksyon na ito, higitin nating pag-aralan ang mga pangunahing sintaks ng XQuery sa pamamagitan ng pag-aaral ng isang halimbawa.

XML Halimbawa Dokumentong

Aming pagsunod na halimbawa gamit ang XML dokumento na ito.

"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>

Tingnan ang file na "books.xml" sa iyong browser.

Paano pumili ng mga node mula sa "books.xml"?

Function

Ang XQuery ay gumagamit ng mga function upang makuha ang datos sa loob ng XML na dokumento.

doc() ay ginamit upang buksan ang "books.xml" na file:

doc("books.xml")

Path expression

Ang XQuery ay gumagamit ng path expression upang magmaneho sa XML na dokumento sa pamamagitan ng mga elemento.

Ang sumusunod na path expression ay ginamit upang piliin ang lahat ng title na nasa "books.xml" na file:

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

(/bookstore ay pumili ng bookstore na elemento, /book ay pumili ng lahat ng book na nasa bookstore na elemento, at /title ay pumili ng lahat ng title na nasa bawat book na elemento)

Ang XQuery na ito ay maaaring makuha ang sumusunod na datos:

<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>

Kataga

Ang XQuery ay gumagamit ng mga kataga upang pagbubunot ng datos na inilalabas mula sa XML na dokumento.

Ang mga sumusunod na kataga ay ginamit upang piliin ang lahat ng book na nasa bookstore na elemento, at ang halaga ng price na nasa book na elemento ay dapat na mas mababa sa 30:

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

Ang XQuery na ito ay maaaring makuha ang mga sumusunod na datos:

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