XUpdate: Unterschied zwischen den Versionen
BunzA (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Definition== | |||
XUpdate (Namespace: [http://www.xmldb.org/xupdate http://www.xmldb.org/xupdate]) wurde von der Initiative [http://xmldb-org.sourceforge.net XML:DB] entwickelt, die ebenfalls eine API für XUpdate zur Verfügung stellt. XUpdate ermöglicht es dem Programmierer, ändernd auf Daten und Dateien zuzugreifen. | XUpdate (Namespace: [http://www.xmldb.org/xupdate http://www.xmldb.org/xupdate]) wurde von der Initiative [http://xmldb-org.sourceforge.net XML:DB] entwickelt, die ebenfalls eine API für XUpdate zur Verfügung stellt. XUpdate ermöglicht es dem Programmierer, ändernd auf Daten und Dateien zuzugreifen. | ||
== Sprachelemente == | ==Sprachelemente== | ||
XUpdate ist eine deklarative Sprache, deren Anweisungen im XML-Format geschrieben werden. Für die Navigation innerhalb der Dokumente werden XPath und dessen Funktionen verwendet. | XUpdate ist eine deklarative Sprache, deren Anweisungen im XML-Format geschrieben werden. Für die Navigation innerhalb der Dokumente werden XPath und dessen Funktionen verwendet. | ||
Zeile 18: | Zeile 20: | ||
Mit '''<code>xupdate:node</code>''' wird ein Knoten definiert, <code>node</code> kann je nach gewünschtem Knotentyp die Ausprägungen '''<code>element</code>''', '''<code>attribute</code>'''oder '''<code>text</code>'''annehmen. | Mit '''<code>xupdate:node</code>''' wird ein Knoten definiert, <code>node</code> kann je nach gewünschtem Knotentyp die Ausprägungen '''<code>element</code>''', '''<code>attribute</code>'''oder '''<code>text</code>'''annehmen. | ||
folgenden Beispiel wird aus einem XML-Dokument der Nachname von Otto in der Konstanten <code>$last</code> gespeichert. Anschließend wird ein neuer Personen-Knoten für Susi Müller hinzugefügt. Danach werden alle Personen, die nicht Müller heißen, aus dem Dokument gelöscht. | Im folgenden Beispiel wird aus einem XML-Dokument der Nachname von Otto in der Konstanten <code>$last</code> gespeichert. Anschließend wird ein neuer Personen-Knoten für Susi Müller hinzugefügt. Danach werden alle Personen, die nicht Müller heißen, aus dem Dokument gelöscht. | ||
... | ... | ||
Zeile 47: | Zeile 49: | ||
</person> | </person> | ||
... | ... | ||
== Quellen == | == Quellen == | ||
Zeile 58: | Zeile 59: | ||
* [http://www.info.uni-karlsruhe.de/~i44www/lehre/XML-WS-01-02/Vortrag15/note016.htm http://www.info.uni-karlsruhe.de/~i44www/lehre/XML-WS-01-02/Vortrag15/note016.htm] | * [http://www.info.uni-karlsruhe.de/~i44www/lehre/XML-WS-01-02/Vortrag15/note016.htm http://www.info.uni-karlsruhe.de/~i44www/lehre/XML-WS-01-02/Vortrag15/note016.htm] | ||
* [http://www.zdnet.de/builder/print_this.htm?pid=39118709-20000202c http://www.zdnet.de/builder/print_this.htm?pid=39118709-20000202c] | * [http://www.zdnet.de/builder/print_this.htm?pid=39118709-20000202c http://www.zdnet.de/builder/print_this.htm?pid=39118709-20000202c] | ||
[[Kategorie:XML]] | |||
[[Kategorie:Glossar]] | |||
{{{{SITENAME}}-konformer Artikel}} | |||
{{Quellenangaben verbessern | |||
| Formatierung = true | |||
}} | |||
{{Verbesserungswürdiger Inhalt | |||
| Anmerkung1 = Die Definition sollte überarbeitet werden! | |||
}} |
Aktuelle Version vom 15. Mai 2019, 14:21 Uhr
Definition
XUpdate (Namespace: http://www.xmldb.org/xupdate) wurde von der Initiative XML:DB entwickelt, die ebenfalls eine API für XUpdate zur Verfügung stellt. XUpdate ermöglicht es dem Programmierer, ändernd auf Daten und Dateien zuzugreifen.
Sprachelemente
XUpdate ist eine deklarative Sprache, deren Anweisungen im XML-Format geschrieben werden. Für die Navigation innerhalb der Dokumente werden XPath und dessen Funktionen verwendet.
Die Anweisungen werden nach dem folgenden Muster aufgebaut:
<xupdate:type select="expr"> <xupdate:node>...</xupdate:node> ... </xupdate:type>
Mit Beginn des Elements xupdate:type
wird die Art der Modifikation angegeben. Es stehen verschiedene XUpdate-Funktionen zum Einfügen eines neuen Knotens (insert
-before
, insert
-after
, append
) und zum Ändern (update
, rename
) oder Löschen (remove
) eines bereits bestehenden Knotens zur Verfügung. Zusätzlich können Knoten in einer Konstanten gespeichert (variable
) oder ihr Wert ausgelesen (value
-of
) werden. Auch das Einfügen von Kommentaren (comment
) ist möglich.
Im select
-Attribut wird für expr
ein XPath-Ausdruck angegeben. Es kann im Dokument navigiert und Elemente ausgewählt werden. Hierbei können auch die von XPath zur Verfügung gestellten Funktionen und Bedingungsangaben benutzt werden.
Mit xupdate:node
wird ein Knoten definiert, node
kann je nach gewünschtem Knotentyp die Ausprägungen element
, attribute
oder text
annehmen.
Im folgenden Beispiel wird aus einem XML-Dokument der Nachname von Otto in der Konstanten $last
gespeichert. Anschließend wird ein neuer Personen-Knoten für Susi Müller hinzugefügt. Danach werden alle Personen, die nicht Müller heißen, aus dem Dokument gelöscht.
... <person gender=“m“> <last>Müller</last> <first>Otto</first> </person> ...
<xupdate:variable name=“last“ select=“//person[first=’Otto’]/last“> <xupdate:append select=“/personen“> <xupdate:element name=“person“> <xupdate:attribute>f</xupdate:attribute> <xupdate:element name=“last“><xupdate:value-of select="$last"/></xupdate:element> <xupdate:element name=“first“>Susi</xupdate:element> </xupdate:element> </xupdate:append> <xupdate:remove select=“//person[last!='Müller']“/>
... <person gender=“f“> <last>Müller</last> <first>Susi</first> </person> <person gender=“m“> <last>Müller</last> <first>Otto</first> </person> ...
Quellen
- http://www.xmldb.org/xupdate
- http://xmldb-org.sourceforge.net
- http://www.oio.de/m/eai/xupdate.htm
- http://www.oio.de/m/eai/xupdate-append.htm
- https://www.tu-chemnitz.de/informatik/DVS/dvs.informatik.tu-chemnitz.de/Seminar-SemiDB-XML/SS04-SemiDB-XML/pdf/04-slides.pdf
- http://www.info.uni-karlsruhe.de/~i44www/lehre/XML-WS-01-02/Vortrag15/note016.htm
- http://www.zdnet.de/builder/print_this.htm?pid=39118709-20000202c
Bitte die Regeln der GlossarWiki-Quellenformatierung beachten.
Die Definition sollte überarbeitet werden!