XQuery 對(duì)大小寫(xiě)敏感,XQuery 的元素、屬性以及變量必須是合法的 XML 名稱。
XQuery 語(yǔ)法
XQuery 的基礎(chǔ)語(yǔ)法規(guī)則:
一些基本的語(yǔ)法規(guī)則:
- XQuery 對(duì)大小寫(xiě)敏感
- XQuery 的元素、屬性以及變量必須是合法的 XML 名稱。
- XQuery 字符串值可使用單引號(hào)或雙引號(hào)。
- XQuery 變量由 “$” 并跟隨一個(gè)名稱來(lái)進(jìn)行定義,舉例,$bookstore
- XQuery 注釋被 (: 和 :) 分割,舉例,(: XQuery 注釋 :)
XQuery 條件表達(dá)式
"If-Then-Else" 可以在 XQuery 中使用。
請(qǐng)看下面的例子:
for $x in doc("books.xml")/bookstore/book returnif (
$x/@category="CHILDREN")
then
<child>{data($x/title)}</child>else
<adult>{data($x/title)}</adult>
請(qǐng)注意 "If-Then-Else" 的語(yǔ)法:if 表達(dá)式后的圓括號(hào)是必需的。else 也是必需的,不過(guò)僅僅寫(xiě) “else ()” 也是可以的。
上面的例子的結(jié)果:
<adult>Everyday Italian</adult> <child>Harry Potter</child> <adult>Learning XML</adult> <adult>XQuery Kick Start</adult>
XQuery 比較
在 XQuery 中,有兩種方法來(lái)比較值。
- 通用比較:=, !=, <, <=, >, >=
- 值的比較:eq、ne、lt、le、gt、ge
這兩種比較方法的差異如下:
請(qǐng)看下面的 XQuery 表達(dá)式:
$bookstore//book/@q >
10
如果 q 屬性的值大于 10,上面的表達(dá)式的返回值為 true。
$bookstore//book/@q gt
10
如果僅返回一個(gè) q,且它的值大于 10,那么表達(dá)式返回 true。如果不止一個(gè) q 被返回,則會(huì)發(fā)生錯(cuò)誤。