Strings are probably the most used type of atomic values in queries. This chapter discusses constructing and comparing strings and provides an overview of the many built-in functions that manipulate strings. It also explains string- and text-related features such as whitespace handling and internationalization.
The basic string type that is intended to represent generic character data is called, appropriately, xs:string
. The xs:string
type is not the default type for untyped values. If a value is selected from an input document with no schema, the value is given the type xs:untypedAtomic
, not xs:string
. However, it is easy enough to cast an untyped value to xs:string
. In fact, you can cast a value of any type to xs:string
and cast an xs:string
value to any type.
The xs:string
type is a primitive type from which a number of other types are derived. All of the operations and functions that can be performed on xs:string
values can also be performed on values whose types are restrictions of xs:string
. This includes user-defined types that appear in a schema, as well as built-in derived types such as xs:token
, xs:language
, and xs:ID
. For a complete explanation of the built-in types, see Appendix B.
3.21.21.47