XQuery Örneği
- Önceki Sayfa XQuery Tanıtımı
- Sonraki Sayfa XQuery FLWOR
Bu bölümde, temel XQuery gramerini öğrenmek için bir örneği inceleyelim.
XML Örnek Belgesi
Aşağıdaki örnekte bu XML belgesini kullanacağız.
"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>
Nasıl "books.xml" dosyasından düğüm seçilir?
Fonksiyon
XQuery, XML belgesindeki verileri çıkarmak için fonksiyonlar kullanır.
doc() kullanılarak "books.xml" dosyası açılır:
doc("books.xml")
Yol ifadesi
XQuery, XML belgesinde elemanlar arasında gezinmek için yol ifadelerini kullanır.
Aşağıdaki yol ifadesi, "books.xml" dosyasında tüm title elemanlarını seçmek için kullanılır:
doc("books.xml")/bookstore/book/title
(/bookstore, bookstore elemanını seçer, /book, bookstore elemanı altındaki tüm book elemanlarını seçer ve /title, her book elemanı altındaki tüm title elemanlarını seçer)
Üsteki XQuery aşağıdaki verileri çıkarabilir:
<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>
Cümle
XQuery, XML belgesinden veri çıkarırken cümleleri kullanır.
Aşağıdaki cümleler, bookstore elemanı altındaki tüm book elemanlarını seçmek için kullanılır ve seçilen book elemanları altındaki price elemanlarının değeri 30'dan küçük olmalıdır:
doc("books.xml")/bookstore/book[price<30]
Üsteki XQuery, aşağıdaki verileri çıkarabilir:
<book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
- Önceki Sayfa XQuery Tanıtımı
- Sonraki Sayfa XQuery FLWOR