Semantic constraint based xml updating
In addition to the simple expression, the XQUF adds the updating expression as a new type of expression.
An updating expression returns only a Pending Update List (PUL) as a result which is subsequently applied to addressed databases and DOM nodes.
The outermost expression of a query must either be a collection of updating or non-updating expressions.
Updating statements are not executed immediately, but are first collected as update primitives within a set-like structure.
After the evaluation of the query, and after some consistency checks and optimizations, the update primitives will be applied in the following order: If an inconsistency is found, an error message is returned and all accessed databases remain untouched (atomicity).
But there are two ways out: If you want to modify nodes in main memory, you can use the transform expression.
In Base X, all updates are performed on database nodes or in main memory.
The following example demonstrates a common use case: Query: .