با سلام خدمت کاربران گرامی سایت پی وی لرن و علاقمندان و کاربرانی که علاقمند به یادگیری دوره XML هستند. در جلسه گذشته به صورت تخصصی با برخی از اصطلاحات XQuery آشنا شدیم و گره های XQuery و روابط میان آن ها را شناختیم. در ادامه سر فصل XQuery با آموزش کار با سینتکس XQuery همراه شما خواهیم بود.
XQuery حساس به حروف است و عناصر attributes، XQuery های آن و متغیرهای آن باید نامهای معتبر XML باشند.
XQuery حساس به حروف است
عناصر attributes، XQuery های آن و متغیرهای آن باید نامهای معتبر XML باشند.
یک مقدار رشته XQuery می تواند در یک یا دو نقل قول باشد.
یک متغیر XQuery با یک $ یک نام تعریف شده است، به عنوان مثال bookstore$.
کامنت های XQuery توسط (: and 🙂 تعریف شده اند، به عنوان مثال (: XQuery Comment 🙂
ما از سند XML زیر در نمونه های زیر استفاده خواهیم کرد. (همان فایل XML همانند جلسه قبل).
عبارات “if-then-else” در XQuery مجاز می باشند.
به مثال زیر نگاه کنید:
1 2 3 4 | for $x in 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 می تواند به صورت ()else نیز باشد.
نتیجه مثال فوق:
1 2 3 4 | <adult>Everyday Italian</adult> <child>Harry Potter</child> <adult>XQuery Kick Start</adult> <adult>Learning XML</adult> |
در XQuery دو روش مقایسه مقادیر وجود دارد.
۱٫ General comparisons مقایسه های عمومی: =،! =، <، <=،>،> =
۲٫ Value comparison مقایسه مقادیر: eq، ne، lt، le، gt، ge
تفاوت بین دو روش مقایسه در زیر نشان داده شده است.
عبارت زیر، اگر هر کدام از ویژگی های q یک مقدار بزرگتر از ۱۰ باشد، درست می شود:
1 | $bookstore//book/@q > 10 |
اگر هر کدام از q attributes مقداری بیش از ۱۰ داشته باشند در آن صورت عبارت زیر بازگردانی می شود.
1 | $bookstore//book/@q gt 10 |
در این جلسه با آموزش کار با سینتکس XQuery همراه شما بودیم.
در جلسه بعدی به این مسئله می پردازیم که چگونه یک attribute و عنصر را اضافه نماییم.
با پی وی لرن همراه باشید.