XQuery FLWOR

  • 如何使用FLWOR

    查看以下路径表达式:
    doc("books.xml")/bookstore/book[price>30]/title
    上面的表达式将选择 bookstore 元素下 book 元素下的所有 title 元素,并且价格元素的值大于30。
    以下 FLWOR 表达式将选择与上面的路径表达式完全相同的表达式:
    for $x in doc("books.xml")/bookstore/book
    where $x/price>30
    return $x/title
    结果将是:
    <title lang="en">XQuery Kick Start</title>
    <title lang="en">Learning XML</title>
    使用 FLWOR,您可以对结果进行排序:
    for $x in doc("books.xml")/bookstore/book
    where $x/price>30
    order by $x/title
    return $x/title
    FLWOR 是 "For,Let,Where,Order by,Return" 的首字母缩写
    for 子句将 bookstore 元素下的所有 book 元素选择到名为 $ x 的变量中。
    where 子句只选择价格元素大于 30 的 book 元素。
    order by 子句定义排序顺序。 将按标题元素排序。
    return 子句指定应返回的内容。 在这里,它返回标题元素。
    上面的 XQuery 表达式的结果将是:
    <title lang="en">Learning XML</title>
    <title lang="en">XQuery Kick Start</title>