XQuery misoli


Keling, bir misolni ko‘rib chiqib, XQuery asoslarini o‘rganamiz.


ULASHISH

Misol uchun XML hujjat

Quyidagi misollarda biz quyidagi XML hujjatdan foydalanamiz.

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

"books.xml" faylini brauzeringizda ko‘ring.



"books.xml" faylidan tugunlarni qanday tanlash mumkin?

Funksiyalar

XQuery XML hujjatlardan ma’lumot ajratib olish uchun funksiyalardan foydalanadi.

"books.xml" faylini ochish uchun doc() funksiyasidan foydalaniladi:

doc("books.xml")

Yo‘l ifodalari (path expressions)

XQuery XML hujjatdagi elementlar bo‘ylab harakatlanish uchun yo‘l ifodalaridan foydalanadi.

Quyidagi yo‘l ifodasi "books.xml" faylidagi barcha title elementlarini tanlash uchun ishlatiladi:

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

(/bookstore bookstore elementini tanlaydi, /book bookstore elementi ostidagi barcha book elementlarini tanlaydi, /title esa har bir book elementi ostidagi barcha title elementlarini tanlaydi)

Yuqoridagi XQuery quyidagilarni ajratib oladi:

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

Predikatlar

XQuery XML hujjatlardan ajratib olinadigan ma’lumotlarni cheklash uchun predikatlardan foydalanadi.

Quyidagi predikat bookstore elementi ostidagi, qiymati 30 dan kichik bo‘lgan price elementiga ega barcha book elementlarini tanlash uchun ishlatiladi:

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

Yuqoridagi XQuery quyidagilarni ajratib oladi:

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

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!