ایکس کیو ایچ انتخاب اور فیلٹرنگ
- پچھلے پہلہ XQuery اضافہ
- آئندہ پہلہ ایکس کیو ایچ فنکشن
مستند نمونه XML
ما در مثالهای زیر از این مستند "books.xml" استفاده خواهیم کرد (همان XML فایلهایی که در فصلهای قبلی استفاده شدهاند).
انتخاب و فیلتر کردن عناصر
همانطور که در فصلهای قبلی مشاهده کردهاید، ما از عبارتهای مسیر یا FLWOR برای انتخاب و فیلتر کردن عناصر استفاده میکنیم.
لطفاً به عبارت FLWOR زیر نگاه کنید:
برای $x در doc("books.xml")/bookstore/book حيث $x/price>30 ترتیب بر اساس $x/title بازگردان $x/title
- برای
- (اختیاری) پیوند دادن یک متغیر به هر یک از پروژههایی که توسط عبارت in بازگردانده میشود
- گذارید
- (اختیاری)
- حيث
- (اختیاری) تنظیم یک شرط
- ترتیب بر اساس
- (اختیاری) تنظیم ترتیب نتایج
- بازگرداندن
- تعیین محتوایی که در نتیجه بازگردانده میشود
دستور for
دستور for میتواند متغیرها را به هر یک از پروژههایی که توسط عبارت in بازگردانده میشود، پیوند دهد. دستور for میتواند یک تکرار را ایجاد کند. میتوان چندین دستور for در یک عبارت FLWOR وجود داشته باشد.
برای تکرار چندین بار در یک دستور 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}. {data($x)}</book>
نتیجه:
<book>1. Everyday Italian</book> <book>2. Harry Potter</book> <book>3. XQuery Kick Start</book> <book>4. Learning XML</book>
در دستور برای نیزمجاز است که چندین درخواست 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="en">Everyday Italian</title> <title lang="en">Learning XML</title> <title lang="en">XQuery Kick Start</title>
بازگردان دستور:
بازگردان دستور تعیین میکند که چه چیزی باید بازگردانده شود.
برای $x در doc("books.xml")/bookstore/book بازگردان $x/title
نتیجه:
<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 اضافہ
- آئندہ پہلہ ایکس کیو ایچ فنکشن