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