XQuery 语法

原创 2017-01-11 14:40:41 444
摘要:XQuery 对大小写敏感,XQuery 的元素、属性以及变量必须是合法的 XML 名称。XQuery 的基础语法规则:一些基本的语法规则:XQuery 对大小写敏感XQuery 的元素、属性以及变量必须是合法的 XML 名称。XQuery 字符串值可使用单引号或双引号。XQuery 变量由 “$” 并跟随一个名称来进行定义,举例,$bookstoreXQuery 注释被 (: 和 :) 分割,举

XQuery 对大小写敏感,XQuery 的元素、属性以及变量必须是合法的 XML 名称。

XQuery 的基础语法规则:

一些基本的语法规则:

XQuery 对大小写敏感

XQuery 的元素、属性以及变量必须是合法的 XML 名称。

XQuery 字符串值可使用单引号或双引号。

XQuery 变量由 “$” 并跟随一个名称来进行定义,举例,$bookstore

XQuery 注释被 (: 和 :) 分割,举例,(: XQuery 注释 :)

XQuery 条件表达式

"If-Then-Else" 可以在 XQuery 中使用。

请看下面的例子:

for $x in doc("books.xml")/bookstore/bookreturn 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>Learning XML</adult><adult>XQuery Kick Start</adult>

XQuery 比较

在 XQuery 中,有两种方法来比较值。

通用比较:=, !=, <, <=, >, >=

值的比较:eq、ne、lt、le、gt、ge

这两种比较方法的差异如下:

请看下面的 XQuery 表达式:

$bookstore//book/@q > 10

如果 q 属性的值大于 10,上面的表达式的返回值为 true。

$bookstore//book/@q gt 10

如果仅返回一个 q,且它的值大于 10,那么表达式返回 true。如果不止一个 q 被返回,则会发生错误。


发布手记

热门词条