Contoh XQuery
Mari kita pelajari beberapa XQuery dasar dengan melihat sebuah contoh.
Dokumen Contoh XML
Kami akan menggunakan dokumen XML berikut dalam contoh di bawah ini.
"buku.xml":
<?xml version="1.0" encoding="UTF-8"?>
<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>
Lihat file "books.xml" di browser Anda .
Bagaimana Memilih Node Dari "books.xml"?
Fungsi
XQuery menggunakan fungsi untuk mengekstrak data dari dokumen XML.
Fungsi doc() digunakan untuk membuka file "books.xml":
doc("books.xml")
Ekspresi Jalan
XQuery menggunakan ekspresi jalur untuk menavigasi elemen dalam dokumen XML.
Ekspresi jalur berikut digunakan untuk memilih semua elemen judul dalam file "books.xml":
doc("books.xml")/bookstore/book/title
(/bookstore memilih elemen toko buku, /book memilih semua elemen buku di bawah elemen toko buku, dan /title memilih semua elemen judul di bawah setiap elemen buku)
XQuery di atas akan mengekstrak yang berikut:
<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>
Predikat
XQuery menggunakan predikat untuk membatasi data yang diekstraksi dari dokumen XML.
Predikat berikut digunakan untuk memilih semua elemen buku di bawah elemen toko buku yang memiliki elemen harga dengan nilai kurang dari 30:
doc("books.xml")/bookstore/book[price<30]
XQuery di atas akan mengekstrak yang berikut:
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>