Section Artikel
FLWOR (dibaca “flower”) adalah singkatan dari “For, Let, Where, Order by, Return”.
For – memilih urutan node
Let – mengikat urutan ke variabel
Where – menyaring node
Order by – mengurutkan node
Return – apa yang akan dikembalikan (dievaluasi sekali untuk setiap node)
Kita akan gunakan dokumen “books.xml” pada contoh di bawah ini :
Contoh 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" cover="paperback"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
Output :
Lihatlah path expression berikut:
doc("books.xml")/bookstore/book[price>30]/title
Ekspresi di atas akan memilih semua elemen title di bawah elemen book yang berada di bawah elemen bookstore yang memiliki elemen price dengan value yang lebih tinggi dari 30.
Ekspresi FLWOR berikut akan memilih persis sama dengan path expression di atas:
for $x in doc("books.xml")/bookstore/book where $x/price>30 return $x/title
Maka hasilnya seperti berikut :
<title lang="en">XQuery Kick Start</title> <title lang="en">Learning XML</title>
Dengan FLWOR kita bisa mengurutkan hasilnya seperti di bawah ini :
for $x in doc("books.xml")/bookstore/book where $x/price>30 order by $x/title return $x/title
Penjelasan Kode :
Hasil ekspresi XQuery di atas akan menjadi:
<title lang="en">Learning XML</title> <title lang="en">XQuery Kick Start</title>