نحو 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>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>Learning XML</adult>
<adult>XQuery Kick Start</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 بازگردانده شود، خطا رخ می‌دهد.