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 の型指定の有無にかかわらず、属性には xmlnsxmlns:*xml:base を使用します。

  • 型指定された xml の場合のみ、属性に xsi:nil、および xsi:type を使用できます。

その他の制限には、次のようなものがあります。

  • xml の型指定の有無にかかわらず、xml:base 属性を挿入すると、エラーになります。

  • 型指定された xml の場合、xsi:nil 属性を削除または変更すると、エラーになります。型指定されていない xml の場合は、この属性を削除したり、この属性の値を変更することができます。

  • 型指定された xml の場合、xs:type 属性の値を変更すると、エラーになります。型指定されていない xml の場合は、この属性の値を変更できます。

型指定された xml インスタンスを変更する場合、最終的な形式が、その型の有効なインスタンスである必要があります。そうでない場合は、検証エラーが返されます。