مثال XQuery
دعنا نتعلم بعض XQuery الأساسية من خلال النظر إلى مثال.
مستند مثال XML
سنستخدم مستند XML التالي في الأمثلة أدناه.
"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" في متصفحك .
كيفية تحديد العقد من "books.xml"؟
المهام
يستخدم XQuery وظائف لاستخراج البيانات من مستندات XML.
تُستخدم الوظيفة doc () لفتح ملف "books.xml":
doc("books.xml")
تعبيرات المسار
يستخدم XQuery تعبيرات المسار للتنقل عبر العناصر في مستند XML.
يتم استخدام تعبير المسار التالي لتحديد كافة عناصر العنوان في ملف "books.xml":
doc("books.xml")/bookstore/book/title
(يختار / bookstore عنصر المكتبة ، ويختار book جميع عناصر الكتاب ضمن عنصر متجر الكتب ، و / title يختار جميع عناصر العنوان الموجودة أسفل كل عنصر كتاب)
سيقوم XQuery أعلاه باستخراج ما يلي:
<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>
المسند
يستخدم XQuery المسندات للحد من البيانات المستخرجة من مستندات XML.
يتم استخدام المسند التالي لتحديد جميع عناصر الكتاب الموجودة ضمن عنصر المكتبة التي تحتوي على عنصر سعر بقيمة أقل من 30:
doc("books.xml")/bookstore/book[price<30]
سيقوم XQuery أعلاه باستخراج ما يلي:
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>