قوانین دستور زبان XQuery

XQuery به بزرگ‌کوچک‌ها حساس است، عناصر، ویژگی‌ها و متغیرهای XQuery باید نام‌های XML قانونی باشند.

قوانین اولیه‌ی گرامری XQuery:

برخی از قوانین اولیه‌ی گرامری:

  • XQuery به بزرگ‌کوچک‌ها حساس است
  • عناصر، ویژگی‌ها و متغیرهای XQuery باید نام‌های XML قانونی باشند.
  • مقادیر رشته‌ای XQuery می‌توانند با نقل قول‌های مجرد یا دوگانه استفاده شوند.
  • متغیرهای XQuery با "$" و دنبال کردن یک نام تعریف می‌شوند، به عنوان مثال، $bookstore
  • نظرات XQuery با (: و :) تقسیم می‌شوند، به عنوان مثال، (: XQuery نظرات :)

عبارت‌های شرطی XQuery

"If-Then-Else" می‌تواند در XQuery استفاده شود.

مثال زیر را ببینید:

برای $x در doc("books.xml")/bookstore/book
return	if ($x/@category="CHILDREN")
	then <child>{data($x/title)}</child>
	else <adult>{data($x/title)}</adult>

لطفاً نکته "If-Then-Else" را در نظر بگیرید: گوشه‌های گرد بعد از عبارت if ضروری هستند. else نیز ضروری است، اما می‌توان فقط نوشت "else ()".

نتیجه مثال بالا:

<adult>ایتالیایی روزانه</adult>
<child>هری پاتر</child>
<adult>آموزش XML</adult>
<adult>شروع سریع XQuery</adult>

مقایسه XQuery

در XQuery، دو روش برای مقایسه مقادیر وجود دارد.

  1. مقایسه عمومی: =, !=, <, <=, >, >=
  2. مقایسه مقادیر: eq،ne،lt،le،gt،ge

تفاوت این دو روش مقایسه به شرح زیر است: }}

لطفاً عبارت XQuery زیر را مشاهده کنید:

$bookstore//book/@q > 10

اگر مقدار ویژگی q بزرگتر از 10 باشد، مقدار بازگشتی عبارت بالا true است.

$bookstore//book/@q بزرگتر از 10

اگر فقط یک q بازگردانده شود و مقدار آن بزرگتر از 10 باشد، عبارت به true بازمی‌گردد. اگر چندین q بازگردانده شود، خطا رخ می‌دهد.