XML DML (XML データ変更言語)
XML DML (XML データ変更言語) は、XQuery 言語の拡張言語です。W3C で定義されているように、XQuery 言語には、データ操作の部分がありません。このトピックで紹介する XML DML および XQuery 言語には、xml データ型に対して使用できる完全な機能のクエリおよびデータ変更言語が提供されます。
XML DML では、XQuery に次のキーワードが追加されました。これらのキーワードでは、大文字と小文字が区別されます。
insert
delete
replace value of
「xml データ型」で説明されているように、xml 型の変数と列を作成し、これらに XML ドキュメントや XML フラグメントを割り当てることができます。このような XML インスタンスを変更または更新するには、次の操作を実行します。
xml データ型の modify() メソッド (xml データ型) を使用します。
modify() メソッド内に適切な XML DML ステートメントを指定します。
一部の属性では、挿入や削除、値の変更ができないので注意してください。次に例を示します。
xml の型指定の有無にかかわらず、属性には xmlns、xmlns:*、xml:base を使用します。
型指定された xml の場合のみ、属性に xsi:nil、および xsi:type を使用できます。
その他の制限には、次のようなものがあります。
xml の型指定の有無にかかわらず、xml:base 属性を挿入すると、エラーになります。
型指定された xml の場合、xsi:nil 属性を削除または変更すると、エラーになります。型指定されていない xml の場合は、この属性を削除したり、この属性の値を変更することができます。
型指定された xml の場合、xs:type 属性の値を変更すると、エラーになります。型指定されていない xml の場合は、この属性の値を変更できます。
型指定された xml インスタンスを変更する場合、最終的な形式が、その型の有効なインスタンスである必要があります。そうでない場合は、検証エラーが返されます。