XQuery 語法
XQuery 區分大小寫,XQuery 元素、屬性和變數必須是有效的 XML 名稱。
XQuery 基本語法規則
一些基本語法規則
- XQuery 區分大小寫
- XQuery 元素、屬性和變數必須是有效的 XML 名稱
- XQuery 字串值可以是用單引號或雙引號括起來
- XQuery 變數用 $ 符號加上一個名稱來定義,例如 $bookstore
- XQuery 註釋用 (: 和 :) 分隔,例如 (: XQuery 註釋 :)
XML 示例文件
我們在下面的示例中將使用“books.xml”文件(與前幾章相同)。
XQuery 條件表示式
XQuery 中允許使用“If-Then-Else”表示式。
看下面的例子
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 表示式周圍的括號是必需的。 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,則以下表達式返回 true
$bookstore//book/@q > 10
如果表示式返回的 q 屬性只有一個,並且其值大於 10,則以下表達式返回 true。如果返回的 q 超過一個,則會發生錯誤
$bookstore//book/@q gt 10