XPath and XQuery Functions and Operators 3.1 http://www.w3.org/TR/2014/CR-xpath-functions-31-20141218/ Definitions

By Patrick Durusau, patrick@durusau.net

The following definitions were extracted from XPath and XQuery Functions and Operators 3.1 http://www.w3.org/TR/2014/CR-xpath-functions-31-20141218/ on 14 January 2014. No sorting has been performed. Where multiple definitions occur in a paragraph, that paragraph is repeated. That is a feature, not a bug. Multiple occurrences of the same paragraph signals that any included non-normative text may apply to one or more of the definitions the paragraph contains.

Another document that incorporates the definitions from XPath 3.1, XQuery 3.1, XPath and XQuery Functions and Operators 3.1, and XQuery and XPath Data Model 3.1 deduped and in sort order is in preparation.


[Definition] A character is an instance of the CharXML production of [Extensible Markup Language (XML) 1.0 (Fifth Edition)].

[Definition] A string is a sequence of zero or more ·characters·, or equivalently, a value in the value space of the xs:string data type.

[Definition] A codepoint is a non-negative integer assigned to a ·character· by the Unicode consortium, or reserved for future assignment to a character.

[Definition] An expanded-QName is a pair of values consisting of a namespace URI and a local name. They belong to the value space of the [XML Schema Part 2: Datatypes Second Edition] datatype xs:QName. When this document refers to xs:QName we always mean the value space, i.e. a namespace URI, local name pair (and not the lexical space referring to constructs of the form prefix:local-name).

[Definition] Within this specification, the term URI refers to Universal Resource Identifiers as defined in [RFC 3986] and extended in [RFC 3987] with a new name IRI. The term URI Reference, unless otherwise stated, refers to a string in the lexical space of the xs:anyURI datatype as defined in [XML Schema Part 2: Datatypes Second Edition].

[Definition] Two function calls are said to be within the same execution scope if the host environment defines them as such. In XSLT, any two calls executed during the same transformation are in the same execution scope (except that static expressions, such as those used in use-when attributes, are in a separate executed during the evaluation of a top-level expression are in the same execution scope. In other contexts, the execution scope is specified by the host environment that invokes the function library.

[Definition] Two values are defined to be identical if they contain the same number of items and the items are pairwise identical. Two items are identical if and only if one of the following conditions applies:

[Definition] A function may have the property of being context-dependent: the result of such a function depends on the values of properties in the static and dynamic evaluation context as well as on the actual supplied arguments (if any).

[Definition] A function that is not ·context-dependent· is called context-independent.

[Definition] A function is focus-dependent if its result depends on the focus (that is, the context item, position, or size).

[Definition] A function that is not ·focus-dependent· is called focus-independent

[Definition] For a ·context-dependent· function, the parts of the context on which it depends are referred to as implicit arguments.

[Definition] A function that is guaranteed to produce ·identical· results from repeated calls within a single ·execution scope· if the explicit and implicit arguments are identical is referred to as deterministic.

[Definition] A function that is not ·deterministic· is referred to as nondeterministic.

[Definition] The decimal digit family of a decimal format is the sequence of ten digits with consecutive Unicode ·codepoints· starting with the mandatory-digit-sign.

[Definition] The formatting of a number is controlled by a picture string. The picture string is a sequence of ·characters·, in which the characters assigned to the properties decimal-separator-sign, exponent-separator-sign, grouping-sign, decimal-digit-family, optional-digit-sign and pattern-separator-sign are classified as active characters, and all other characters (including the percent-sign and per-mille-sign) are classified as passive characters.

[Definition] The collation URI http://www.w3.org/2005/xpath-functions/collation/codepoint identifies a collation which must be recognized by every implementation: it is referred to as the Unicode codepoint collation (not to be confused with the Unicode collation algorithm).

[Definition] The three functions fn:format-dateTime, fn:format-date, and fn:format-time are referred to collectively as the date formatting functions.

[Definition] A map consists of a set of entries. Each entry comprises a key which is an arbitrary atomic value, and an arbitrary sequence called the associated value.

[Definition] Within a map, no two entries have the same key. Two atomic values K1 and K2 are the same key for this purpose if the relation deep-equal(K1, K2, $UCC) holds, where $UCC is the Unicode codepoint collation.


Errors or comments to:patrick@durusau.net

Creative Commons License
XPath and XQuery Functions and Operators 3.1 http://www.w3.org/TR/2014/CR-xpath-functions-31-20141218/ Definitions by Patrick Durusau is licensed under a Creative Commons Attribution 4.0 International License.