Cú pháp XQuery
- Trang trước Từ ngữ XQuery
- Trang tiếp theo Thêm XQuery
XQuery nhạy cảm với dấu cách viết hoa/thường, các phần tử, thuộc tính và biến của 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 dấu cách viết hoa/thường
- Các phần tử, thuộc tính và biến của XQuery phải là tên XML hợp lệ.
- Giá trị chuỗi XQuery có thể sử dụng dấu ngoặc kép hoặc dấu ngoặc kép kép.
- Biến XQuery được định nghĩa bằng “$” theo sau là một tên, ví dụ, $bookstore
- Phụ chú XQuery được chia cắt bởi (: và :), ví dụ, (: XQuery phụ chú :)
Biểu thức điều kiện XQuery
Cú pháp "If-Then-Else" có thể được sử dụng trong XQuery.
Xin xem ví dụ dưới đây:
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ề cú pháp "If-Then-Else": dấu ngoặcRound sau biểu thức if là bắt buộc. else cũng là bắt buộc, nhưng chỉ cần viết “else ()” cũng được.
Kết quả của 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 chung: =, !=, <, <=, >, >=
- 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 này như sau:
Xin xem biểu thức XQuery dưới đây:
$bookstore//book/@q > 10
Nếu giá trị thuộc tính q lớn hơn 10, giá trị trả về của biểu thức trên 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 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ừ ngữ XQuery
- Trang tiếp theo Thêm XQuery