انتخاب وتنقية XQuery
- الصفحة السابقة إضافة XQuery
- الصفحة التالية وظائف XQuery
مثال مستند XML
سنستمر في استخدام مستند "books.xml" في الأمثلة التالية (وهو نفس الملف الذي استخدمناه في الفصول السابقة).
اختيار وتنقية العناصر
كما رأيت في الفصول السابقة، نستخدم تعبيرات المسار أو جملة FLWOR لاختيار وتنقية العناصر.
انظر إلى جملة FLWOR التالية:
للمحتويات $x في doc("books.xml")/bookstore/book where $x/price>30 order by $x/title عودة $x/title
- for
- اختياريًا) ربط كل عنصر يرجع إليه تعبير in بمتغير
- let
- اختياريًا)
- where
- اختياريًا) تحديد شرط
- order by
- اختياريًا) تحديد ترتيب النتائج
- return
- تحديد المعلومات التي سيتم إرجاعها في النتيجة
جملة for
جملة for يمكنها ربط المتغيرات بكل عنصر يرجع إليه تعبير in. يمكن أن تنتج جملة for تكرارًا. يمكن أن تحتوي جملة FLWOR على جمل for متعددة في نفسها.
إذا كنت ترغب في تكرار جملة for مرة معينة، يمكنك استخدامالكلمات المفتاحية إلى :
لـ x في (1 لـ 5) عودة <test>{$x}</test>
نتيجة:
<test>1</test> <test>2</test> <test>3</test> <test>4</test> <test>5</test>
كلمة المفتاح at يمكن استخدام هذا لتحليل التكرار:
للمحتويات $x في $i في doc("books.xml")/bookstore/book/title عودة <book>{$i}. {بيانات($x)}</book>
نتيجة:
<book>1. كل يوم إيطالي</book> <book>2. هاري بوتر</book> <book>3. بدء XQuery</book> <book>4. تعلم XML</book>
في بند for أيضًايسمح ببندات متعددة inرجاءً استخدم الفاصلة للفصل بين كل تعبير in.
للمحتويات $x في (10,20), $y في (100,200) عودة <test>x={$x} وy={$y}</test>
نتيجة:
<test>x=10 وy=100</test> <test>x=10 وy=200</test> <test>x=20 وy=100</test> <test>x=20 وy=200</test>
بند التسمية:
بند التسمية يمكنه إكمال تخصيص المتغيرات، وتجنب تكرار نفس التعبير عدة مرات. لن يؤدي بند التسمية إلى تكرار.
تسمية المتغير $x := (1 إلى 5) عودة <test>{$x}</test>
نتيجة:
<test>1 2 3 4 5</test>
بند حيث:
بند حيث يستخدم لتعريف عدد من الشروط (المستندات).
حيث $x/price>30 و$x/price<100
بند الترتيب:
بند الترتيب يستخدم لتعريف ترتيب النتائج. هنا، سنقوم بترتيب النتائج بناءً على category و title:
للمحتويات $x في doc("books.xml")/bookstore/book ترتيب حسب $x/@category, $x/title عودة $x/title
نتيجة:
<title lang="en">Harry Potter</title> <title lang="ar">كل يوم إيطالي</title> <title lang="en">Learning XML</title> <title lang="en">XQuery Kick Start</title>
بند العودة:
بند العودة يحدد المحتوى الذي سيتم عهده.
للمحتويات $x في doc("books.xml")/bookstore/book عودة $x/title
نتيجة:
<title lang="ar">كل يوم إيطالي</title> <title lang="en">Harry Potter</title> <title lang="en">XQuery Kick Start</title> <title lang="en">Learning XML</title>
- الصفحة السابقة إضافة XQuery
- الصفحة التالية وظائف XQuery