The term XDM instance denotes an unconstrained sequence of zero or more nodes and/or atomic values as defined by the data model.
Within this document, the term XQuery 3.0 refers to the language specified by [XQuery 3.0: An XML Query Language].
An XQuery processor MAY claim conformance to a subset of the XQuery Update 3.0 specification called "XQuery with Multiple Results" as defined in [9.3 XQuery with Multiple Results].
Five new kinds of expressions named basic updating expression are introduced, including insert, delete, replace, rename, and dynamic updating function invocation expressions. Basic updating expression are always classified as updating expressions.
Two namespace bindings are said to conflict if their namespace prefixes (or absence thereof) are the same but their namespace URI's (or absence thereof) are different.
The term data model refers to the data model specified by [XQuery and XPath Data Model (XDM) 3.0].
The implied namespace binding of a QName is the association of its namespace prefix (or absence thereof) with its namespace URI (or absence thereof).
To mark a node means to identify the node as participating in a later operation.
MAY means that an item is truly optional.
MUST means that the item is an absolute requirement of the specification.
The term node identity denotes the unique identity that is a property of every node in an XDM instance (see Section 2.3 Node Identity DM30.)
A pending update list is an unordered collection of update primitives, which represent node state changes that have not yet been applied.
A revalidation declaration sets the revalidation mode in the static context of the module, overriding any implementation-defined default.
Revalidation mode, which may be strict
, lax
, or skip
,
is a component of the static context that controls the behavior of the
upd:revalidate
operation.
SHOULD means that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.
A simple expression is any XQuery expression that is not an updating expression.
If a function is not an updating function, then it is a simple function.
A snapshot is a scope within which expressions are evaluated with respect to a fixed XDM instance and updates are held pending.
The first argument of an update primitive, called its target node, is the principal node to be affected by the update primitive.
Update operations are used in defining the semantics of XQuery updates, but are not directly available to users. Update operations are defined in [8 Update Operations].
Update primitives are the components of pending update lists. Each update primitive represents a node state change that has not yet been applied.
Update routines are sequences of actions that are used in the definition of XQuery semantics but do not appear on pending update lists.
An updating expression is an expression that can return a non-empty pending update list. This includes basic updating expressions, static function calls to an updating function, or any expression that directly contains an updating expression (other than the modify expression of a copy modify or transform with expression).
An updating function is a functionDM30 which can return a non-empty pending update list when called.
An updating function assertion is a function assertionXQ30 that can be used to control how a FunctionTest matches updating functions.