XQuery Syntax
XQuery သည် case-sensitive ဖြစ်ပြီး XQuery ဒြပ်စင်များ၊ attribute များနှင့် variable များသည် တရားဝင် XML အမည်များ ဖြစ်ရပါမည်။
XQuery အခြေခံ Syntax စည်းမျဉ်းများ
အခြေခံ syntax စည်းမျဉ်းအချို့-
- XQuery သည် case-sensitive ဖြစ်သည်။
- XQuery ဒြပ်စင်များ၊ အရည်အချင်းများနှင့် ကိန်းရှင်များသည် တရားဝင် XML အမည်များ ဖြစ်ရပါမည်။
- XQuery စာကြောင်းတန်ဖိုးသည် တစ်ခုတည်း သို့မဟုတ် နှစ်ဆကိုးကားချက်များတွင် ဖြစ်နိုင်သည်။
- XQuery variable ကို $ တစ်ခုဖြင့် သတ်မှတ်ပြီး နာမည်တစ်ခု ၊ ဥပမာ $bookstore
- XQuery မှတ်ချက်များကို (: နှင့် :), ဥပမာ (: XQuery မှတ်ချက် :) ဖြင့် ပိုင်းခြားထားသည်။
XML နမူနာစာရွက်စာတမ်း
အောက်ဖော်ပြပါနမူနာများတွင် "books.xml" စာရွက်စာတမ်းကို အသုံးပြုပါမည် (ယခင်အခန်းများကဲ့သို့ XML ဖိုင်)။
သင့်ဘရောက်ဆာရှိ "books.xml" ဖိုင်ကို ကြည့်ရှုပါ ။
XQuery Conditional Expressions
"If-Then-Else" အသုံးအနှုန်းများကို XQuery တွင် ခွင့်ပြုထားသည်။
အောက်ပါဥပမာကိုကြည့်ပါ-
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 expression ကို လိုအပ်သော ကွင်းစဥ်များ။ else လိုအပ်သော်လည်း else () သာဖြစ်နိုင်သည်။
အထက်ဖော်ပြပါ ဥပမာ၏ ရလဒ်သည်-
<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>XQuery Kick Start</adult>
<adult>Learning XML</adult>
XQuery နှိုင်းယှဉ်မှုများ
XQuery တွင် တန်ဖိုးများကို နှိုင်းယှဉ်ရန် နည်းလမ်းနှစ်ခုရှိသည်။
1. အထွေထွေ နှိုင်းယှဉ်ချက်များ- =, !=, <, <=, >, >=
2. တန်ဖိုး နှိုင်းယှဉ်ချက်များ- eq, ne, lt, le, gt, ge
နှိုင်းယှဉ်နည်းနှစ်ခုကြား ကွာခြားချက်ကို အောက်တွင်ဖော်ပြထားသည်။
q ရည်ညွှန်းချက်များသည် 10 ထက် ကြီးသောတန်ဖိုးရှိပါက အောက်ပါဖော်ပြချက်သည် မှန်ပါသည်။
$bookstore//book/@q > 10
ဖော်ပြချက်မှ ပြန်ပေးသော q attribute တစ်ခုသာရှိလျှင် အောက်ပါ expression သည် true ပြန်ပေးမည်ဖြစ်ပြီး၊ ၎င်း၏တန်ဖိုးသည် 10 ထက် ကြီးပါသည်။ q တစ်ခုထက်ပိုပါက ပြန်ပေးမည်ဆိုပါက အမှားအယွင်းဖြစ်သွားသည်-
$bookstore//book/@q gt 10