ล่าสุดการพัฒนาเว็บบทเรียน
 

XQuery ไวยากรณ์


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