Pemilihan dan Penyaringan XQuery
- Hal Sebelumnya Menambahkan XQuery
- Hal Berikutnya Fungsi XQuery
Dokumen Instan XML
Kami akan melanjutkan menggunakan dokumen "books.xml" di contoh di bawah ini (yang sama seperti berkas XML yang digunakan di bab di atas).
Memilih dan menyaring elemen
Seperti yang dilihat di bab sebelumnya, kita menggunakan ekspresi jalur atau ekspresi FLWOR untuk memilih dan menyaring elemen.
Lihat ekspresi FLWOR di bawah ini:
for $x in doc("books.xml")/bookstore/book di mana $x/price>30 urut berdasarkan $x/title return $x/title
- for
- (opsional) Ikat setiap item yang diproduksi oleh ekspresi in ke variabel
- let
- (opsional)
- di mana
- (opsional) Atur kondisi
- urut berdasarkan
- (opsional) Atur urutan penyelesaian hasil
- kembalikan
- Tentukan konten yang dikembalikan dalam hasil
Perintah for
Perintah for dapat mengikat variabel ke setiap item yang diproduksi oleh ekspresi in. Perintah for dapat memproduksi iterasi. Dalam ekspresi FLWOR, dapat ada beberapa perintah for.
Untuk melakukan perulangan dengan jumlah yang ditentukan dalam perintah for, Anda dapat menggunakanKata kunci ke :
untuk $x dalam (1 ke 5) return <test>{$x}</test>
Hasil:
<test>1</test> <test>2</test> <test>3</test> <test>4</test> <test>5</test>
Kata kunci at Dapat digunakan untuk menghitung iterasi:
untuk $x pada $i dalam doc("books.xml")/bookstore/book/title kembalikan <book>{$i}. {data($x)}</book>
Hasil:
<book>1. Everyday Italian</book> <book>2. Harry Potter</book> <book>3. Memulai XQuery</book> <book>4. Belajar XML</book>
Dalam perintah for jugaMemungkinkan banyak ekspresi inGunakan koma untuk memisahkan setiap ekspresi in:
untuk $x dalam (10,20), $y dalam (100,200) kembalikan <test>x={$x} dan y={$y}</test>
Hasil:
<test>x=10 dan y=100</test> <test>x=10 dan y=200</test> <test>x=20 dan y=100</test> <test>x=20 dan y=200</test>
perintah let
Kalimat let dapat melakukan alokasi variabel dan menghindari pengulangan ekspresi yang sama. Kalimat let tidak akan menyebabkan iterasi.
let $x := (1 to 5) return <test>{$x}</test>
Hasil:
<test>1 2 3 4 5</test>
Kalimat where
Kalimat where digunakan untuk menentukan satu atau lebih kondisi (criteria) untuk hasil.
where $x/price>30 and $x/price<100
Kalimat order by
Kalimat order by digunakan untuk menentukan urutan penyelesaian hasil. Disini, kita akan mengurutkan hasil berdasarkan category dan title:
for $x in doc("books.xml")/bookstore/book order by $x/@category, $x/title return $x/title
Hasil:
<title lang="en">Harry Potter</title> <title lang="en">Everyday Italian</title> <title lang="en">Learning XML</title> <title lang="en">XQuery Kick Start</title>
Kalimat return:
Kalimat return menentukan konten yang akan di kembalikan.
for $x in doc("books.xml")/bookstore/book return $x/title
Hasil:
<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>
- Hal Sebelumnya Menambahkan XQuery
- Hal Berikutnya Fungsi XQuery