Constructing Strings

There are three common ways to construct strings: using string literals, the xs:string constructor, and the string function.

String Literals

Strings can be included in queries as literals, using double or single quotes. For example, ($name = "Priscilla") and string-length('query') are valid expressions that contain string literals. If a literal value is enclosed in quotes, it is automatically assumed to be a string as opposed to a number.

Between quotes, you can escape the surrounding quote character by including it twice. For example, the literal expression "inner ""quotes""!" evaluates to the string inner "quotes"!. This is true for both single and double quotes.

In string literals, you can use single character references that use XML syntax. For example,   can be used to include a space. You can also use the predefined entity references. For example, you can specify the string literal "PB&J" to represent the string PB&J. In fact, ampersands must be escaped with & in string literals.

The xs:string Constructor and the string Function

There is a standard constructor for strings named xs:string. The xs:string constructor, like all constructors, accepts either an atomic value or a single node. If it is an atomic value, it simply returns that value cast as an xs:string.

Some types have special rules about how their values are formatted when they are cast to xs:string. For example, integers have their leading zeros stripped, and xs:hexBinary values have ...

Get XQuery 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.