
n this article, you'll explore one of the most interesting types of XQuery expressionsthe FLWR expression, and see more detail on element constructors.
XQuery provides FLWR expressions for iterating over groups of nodes and for binding variables to intermediate results. The letters in the name "FLWR", pronounced "flower", stem from the keywords
for,
let,
where, and
returnthe four clauses in a FLWR expression. FLWR expressions are useful for processing and restructuring data from one or more documents.
For example, the following query returns the list of email addresses of all customers in the document
customers.xml.

# see XQuery31.ixq in samples.zip
<customers>
{
for $c in document("data/customers.xml")//customer
return
$c/email
}
</customers>
The query result looks like this:
<customers>
<email>joe@nowhere.com</email>
<email>andy@playallday.com</email>
<email>amanda@areyousure.com</email>
<email>bill@xmlforme.com</email>
</customers>