Cú pháp XQuery
- Trang trước Từ vựng XQuery
- Trang tiếp theo Thêm XQuery
XQuery nhạy cảm với chữ hoa và chữ thường, các phần tử, thuộc tính và biến trong XQuery phải là tên XML hợp lệ.
Quy tắc ngữ pháp cơ bản của XQuery:
Một số quy tắc ngữ pháp cơ bản:
- XQuery nhạy cảm với chữ hoa và chữ thường
- Các phần tử, thuộc tính và biến trong XQuery phải là tên XML hợp lệ.
- Giá trị chuỗi trong XQuery có thể sử dụng dấu ngoặc kép hoặc dấu ngoặc kép kép.
- Biến trong XQuery được định nghĩa bằng $ theo sau là tên, ví dụ, $bookstore
- Ghi chú trong XQuery được chia bởi (: và :), ví dụ, (: Ghi chú XQuery :)
Công thức biểu thức điều kiện của XQuery
"If-Then-Else" có thể được sử dụng trong XQuery.
Xin xem ví dụ sau:
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>
Lưu ý về ngữ pháp "If-Then-Else": dấu ngoặc kép sau biểu thức if là bắt buộc. else cũng là bắt buộc, nhưng bạn cũng có thể viết là "else ()".
Kết quả của các ví dụ trên:
<adult>Everyday Italian</adult> <child>Harry Potter</child> <adult>Learning XML</adult> <adult>XQuery Kick Start</adult>
So sánh XQuery
Trong XQuery, có hai phương pháp để so sánh giá trị.
- So sánh phổ biến: =, !=, <, <=, >, >=
- So sánh giá trị: eq, ne, lt, le, gt, ge
Sự khác biệt giữa hai phương pháp so sánh sau đây:
Xin xem biểu thức XQuery dưới đây:
$bookstore//book/@q > 10
Nếu giá trị của thuộc tính q lớn hơn 10, giá trị trả về của biểu thức trên sẽ là true.
$bookstore//book/@q gt 10
Nếu chỉ trả về một q và giá trị của nó lớn hơn 10, biểu thức sẽ trả về true. Nếu có nhiều hơn một q được trả về, sẽ xảy ra lỗi.
- Trang trước Từ vựng XQuery
- Trang tiếp theo Thêm XQuery