XQuery FLWOR Expressions

From http://www.w3schools.com (Copyright Refsnes Data)

# XQuery FLWOR Expressions

## The XML Example Document

We will use the "books.xml" document in the examples below (same XML file as in the previous chapter).

View the "books.xml" file in your browser.

## How to Select Nodes From "books.xml" With FLWOR

Look at the following path expression:

    doc("books.xml")/bookstore/book[price>30]/title

The expression above will select all the title elements under the book elements that are under the bookstore element that have a price element with a value that is higher than 30.

The following FLWOR expression will select exactly the same as the path expression above:

    for $x in doc("books.xml")/bookstore/book
    where $x/price>30
    return $x/title

The result will be:

    <title lang="en">XQuery Kick Start</title>
    <title lang="en">Learning XML</title>

With FLWOR you can sort the result:

    for $x in doc("books.xml")/bookstore/book
    where $x/price>30
    order by $x/title
    return $x/title

FLWOR is an acronym for "For, Let, Where, Order by, Return".

The for clause selects all book elements under the bookstore element into a variable called $x.

The where clause selects only book elements with a price element with a value greater than 30.

The order by clause defines the sort-order. Will be sort by the title element.

The return clause specifies what should be returned. Here it returns the title elements.

The result of the XQuery expression above will be:

    <title lang="en">Learning XML</title>
    <title lang="en">XQuery Kick Start</title>

From http://www.w3schools.com (Copyright Refsnes Data)