XQuery เป็นกรณีที่มีความอ่อนไหวและองค์ประกอบ XQuery แอตทริบิวต์และตัวแปรจะต้องเป็นชื่อ XML ที่ถูกต้อง
XQuery กฎไวยากรณ์พื้นฐาน
กฎไวยากรณ์พื้นฐาน:
- XQuery เป็นกรณีที่มีความอ่อนไหว
- องค์ประกอบ XQuery แอตทริบิวต์และตัวแปรจะต้องเป็นชื่อ XML ที่ถูกต้อง
- ค่าสตริง XQuery สามารถอยู่ในคำพูดเดียวหรือสองครั้ง
- ตัวแปร XQuery ถูกกำหนดด้วย $ ตามด้วยชื่อเช่น $ ร้านหนังสือ
- ความคิดเห็น XQuery จะถูกคั่นด้วย (: and :) เช่น (: XQuery Comment :)
ตัวอย่าง XML เอกสาร
เราจะใช้ "books.xml" เอกสารในตัวอย่างด้านล่าง (same XML file as in the previous chapters)
ดู "books.xml" แฟ้มในเบราว์เซอร์ของคุณ
XQuery เงื่อนไขการแสดงออก
"ถ้า-แล้ว-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>
Notes on the "if-then-else" syntax: วงเล็บรอบถ้าการแสดงออกจะต้อง อื่น ๆ ที่จำเป็น แต่มันอาจจะเป็นแค่อื่น ()
ผลจากตัวอย่างข้างต้นจะได้รับ:
<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
ความแตกต่างระหว่างวิธีการเปรียบเทียบทั้งสองจะแสดงด้านล่าง
นิพจน์ต่อไปนี้ผลตอบแทนจริงถ้าแอตทริบิวต์คิวใด ๆ ที่มีค่ามากกว่า 10:
$bookstore//book/@q > 10
นิพจน์ต่อไปนี้ผลตอบแทนจริงถ้ามีแอททริบิคิวเพียงหนึ่งกลับโดยการแสดงออกและค่าที่เป็นมากกว่า 10 ถ้ามากกว่าหนึ่งคิวจะถูกส่งกลับข้อผิดพลาดเกิดขึ้น:
$bookstore//book/@q gt 10