| | | | Authors | Andreas Laux - andreas@smb-tec.com | Lars Martin - lars@smb-tec.com | Status | Working Draft - 2000-09-14 | Notice |
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.
| Abstract |
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]
document.
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 http://www.xmldb.org/xupdate .
|
XUpdate uses the expression language defined by [XPath].
Those XPath Expressions are used in XUpdate for selecting nodes for processing
afterwards.
|
An update is represented by an xupdate:modifications element in an XML
document. An xupdate:modifications element must have a version
attribute, indicating the version of XUpdate that the update requires. For this
version of XUpdate, the value should be 1.0 .
The xupdate:modifications element may contain the following types of
elements:
xupdate:insert-before xupdate:insert-after xupdate:append xupdate:update xupdate:remove xupdate:rename xupdate:variable xupdate:value-of xupdate:if
|
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-before and 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 before and 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.
The xupdate:insert-before and xupdate:insert-after element
may contain the following types of elements:
xupdate:element xupdate:attribute xupdate:text xupdate:processing-instruction xupdate:comment
These elements are described below.
The xupdate:text element can be used to create text nodes in the
result tree.
|
|
|
- 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
|
|
|