XML DML (Data Modification Language)
XML DML (Data Modification Language) ist eine Erweiterung der XQuery-Sprache. Gemäß der Definition durch W3C fehlt der XQuery-Sprache der DML-Anteil (Data Manipulation). XML DML wird in diesem Thema vorgestellt; diese Sprache stellt ebenso wie die XQuery-Sprache eine voll funktionsfähige Abfrage- und Datenbearbeitungssprache bereit, die mit dem xml-Datentyp verwendet werden kann.
XML DML fügt XQuery die folgenden Schlüsselwörter hinzu, für die zwischen Groß- und Kleinschreibung unterschieden wird:
insert
delete
replace value of
Wie unter xml-Datentyp beschrieben, können Sie Variablen und Spalten des xml-Datentyps erstellen und diesen dann XML-Dokumente oder -Fragmente zuweisen. Gehen Sie folgendermaßen vor, um diese XML-Instanzen zu ändern oder zu aktualisieren:
Verwenden Sie die modify() xml Data Type-Methode des xml-Datentyps.
Geben Sie die entsprechenden XML DML-Anweisungen in der modify()-Methode an.
Beachten Sie, dass einige Attribute nicht eingefügt, gelöscht oder einer Wertänderung unterzogen werden können. Beispiel:
Für typisiertes oder nicht typisiertes xml lauten die Attribute xmlns, xmlns:* und xml:base.
Nur für typisiertes xml lauten die Attribute xsi:nil und xsi:type.
Außerdem gelten die folgenden Einschränkungen:
Für typisiertes oder nicht typisiertes xml schlägt das Einfügen des Attributs xml:base fehl.
Für typisiertes xml schlägt das Löschen und Ändern des xsi:nil-Attributs fehl. Für nicht typisiertes xml können Sie dieses Attribut löschen oder seinen Wert ändern.
Für typisiertes xml schlägt das Ändern des Werts des xs:type-Attributs fehl. Für nicht typisiertes xml können Sie diesen Attributwert ändern.
Wenn Sie eine typisierte XML-Instanz ändern, muss das endgültige Format eine gültige Instanz des betreffenden Typs sein. Anderenfalls wird ein Überprüfungsfehler zurückgegeben.