Chapter 3. Expressions: XQuery Building Blocks

The basic unit of evaluation in the XQuery language is the expression. A query contains expressions that can be made up of a number of sub-expressions, which may themselves be composed from other sub-expressions. This chapter explains the XQuery syntax, and covers the most basic types of expressions that can be used in queries: literals, variables, function calls, and comments.

Categories of Expressions

A query can range in complexity from a single expression such as 2+3, to a complex composite expression like a FLWOR. Within a FLWOR, there may be other expressions, such as $prodDept = "ACC", which is a comparison expression, and doc("catalog.xml")/catalog/product, which is a path expression. Within these expressions are further expressions, such as "ACC", which is a literal, and $prodDept, which is a variable reference. Every expression evaluates to a sequence, which may be a single item (for example, an atomic value or node), the empty sequence, or multiple items.

The categories of expressions available are summarized in Table 3-1, along with a reference to the chapter or section that covers them.

Table 3-1. Categories of expressions
CategoryDescriptionOperators or keywordsChapter/Section
PrimaryThe basics: literals, variables, function calls, and parenthesized expressionsChapter 3
ComparisonComparison based on value, node identity, or document order=, !=, <, <=, >, >=, eq, ne, lt, le, gt, ge, is, <<, >>“Comparison Expressions”
String concatenation ...

Get XQuery, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.