|Andreas Laux - firstname.lastname@example.org|
|Lars Martin - email@example.com|
|Working Draft - 2000-09-14|
This is an XML:DB Working Draft for review by all interested parties.
It is a draft document and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Working Drafts as reference
material or to cite them as other than "work in progress". This work
is part of the XML:DB Project.
This specification defines the syntax and semantics of XUpdate, which is a language for
updating XML documents.
XUpdate is designed to be used independently of any kinf of implementation.
|Table of Contents|
This specification defines the syntax and semantics of the XUpdate update language.
An update in the XUpdate language is expressed as a well-formed [XML]
XUpdate makes extensive use of the expression language defined by [XPath]
for selecting elements for updating and for conditional processing.
XUpdate is a pure descriptive language which is designed with references to the
definition of XSL Transformations [XSLT].
The XUpdate namespace has the URI
XUpdate uses the expression language defined by [XPath].
Those XPath Expressions are used in XUpdate for selecting nodes for processing
An update is represented by an
xupdate:modifications element in an XML
xupdate:modifications element must have a
attribute, indicating the version of XUpdate that the update requires. For this
version of XUpdate, the value should be
xupdate:modifications element may contain the following types of
This section describes XUpdate instructions that directly inserts nodes in the XML
result tree. There are two instructions in XUpdate that support insertion of nodes:
xupdate:insert-after. Both elements
have a required
select attribute, which specifies the node selected by an
XPath expression. This
select expression must evaluate to a node-set.
The appendix of
after to the definition of
insert is meant to specify the direction where - in relation to the
selected context node - the new node will be inserted.
xupdate:insert-before inserts the given node as the preceding sibling
of the selected context node, where
xupdate:insert-after inserts the given
node as the following sibling of the selected context node.
may contain the following types of elements:
These elements are described below.
xupdate:text element can be used to create text nodes in the
- conditional processing of update commands
- [XML] "Extensible Markup Language (XML) 1.0", Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, 10 February 1998
- [XPath] "XML Path Language (XPath) Version 1.0", James Clark, Steve DeRose, 16 November 1999
- [XSLT] "XSL Transformations (XSLT) Version 1.0", James Clark, 16 November 1999
- [XEditor] "XML Editing Language (XEditor)", Jonathan Borden, August 2000