XQuery 语法规则

  • 定义和使用

    XQuery 区分大小写,并且XQuery元素的属性和变量必须是有效的XML名称。
    一些基本的语法规则:
    • XQuery 区分大小写
    • XQuery 元素,属性和变量必须是有效的XML名称
    • XQuery 字符串值可以用单引号或双引号引起来
    • XQuery 变量使用 $ 定义,后跟一个名称,例如 $bookstore
    • XQuery 注释由(:和:)分隔,例如 (:XQuery评论:)
  • 示例

    在下面的示例中,我们将使用 “books.xml” 文档(与前几章相同的XML文件)。
    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表达式两边加上括号。 其他是必需的,但也可以是其他()。
    上面示例的结果将是:
    <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