Changes

Jump to navigation Jump to search
32 bytes added ,  15:04, 26 August 2018
It summarizes the update features of BaseX.
BaseX offers a complete implementation of the[http://www.w3.org/TR/xquery-update-10/ XQuery Update Facility (XQUF)].This article aims to provide a very quick and basic introduction to the XQUF.First, some examples for update expressions are given. After that,a few problems the challenges are addressed that frequently arise due to the nature functional semantics of thelanguage. These are stated in the [[Update#Concepts|Concepts]] paragraph.
=Features=
===transform with===
The {{Code|transform with}} expression was added to the current [https://www.w3.org/TR/xquery-update-30/#id-transform-with XQuery Update 3.0] working draft. It is a simple version of the [[#update|update]] expression and also availablein available in BaseX:
<pre class="brush:xquery">
==Pending Update List==
The most important thing to keep in mind when using XQuery Update is the Pending Update List (PUL). Updating statements are not executed immediately, but are first collected as update primitives within a set-like structure. At After the end evaluation of a the query, and after some consistency checks and optimizations, the update primitives will be applied in the following order:
* '''Backups (1)''': {{Code|db:create-backup()}}
By default, it is not possible to mix different types of expressions in a query result. The outermost expression of a query must either be a collection of updating or non-updating expressions. But there are two ways out:
* The BaseX-specific <code>[[Database Update Module#dbupdate:output|dbupdate:output()]]</code> function bridges this gap: it caches the results of its arguments at runtime and returns them after all updates have been processed. The following example performs an update and returns a success message:
<pre class="brush:xquery">
dbupdate:output("Update successful."), insert node <c/> into doc('factbook')/mondial
</pre>
=Error Messages=
Along with the Update Facility, a number of new error codes and messages have been addedto the specification and BaseX. All errors are listed in the[[XQuery Errors#Update Errors|XQuery Errors]] overview.
Please remember that the collected updates will be executed after the query evaluation.If All logical errors occur at this final stage, they cannot will be caught via try/catchraised before the updates are actually executed.
=Changelog=
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu