XQueryの更新機能について学ぶ

XQuery Update Facilityは、XQuery言語の拡張機能であり、XMLドキュメント内のノードを挿入、削除、置換、または名前変更する「更新式」を使用して、XMLドキュメントを修正することができます。この拡張機能は、XMLドキュメントを効率的に更新するための便利な方法を提供し、XMLSpyは独自の仕組みにより、さらに簡単に利用できます。それでは、その仕組みを見ていきましょう。

XQueryの更新機能とは何ですか?

XQuery Update Facility (XQUF)は、XQuery言語の拡張機能であり、XMLインスタンスに対して永続的な変更を加えるために使用できるFLWOR式を定義しています。これらの式は、以下の操作のいずれか、または全てを用いてノードを更新します

  • ノードを挿入します
  • ノードを削除する
  • ノードとその子ノードを置き換えます
  • ノードの内容または値を置き換えます
  • ノードの名前を変更する

例えば、以下のスクリーンショットでは、XQuery Updateを使用して、アメリカ国内のオフィスに所属する従業員の電話番号の末尾に「1」を、それ以外の従業員の電話番号の末尾に「2」を追加することで、電話番号を4桁にする変更に対応しています。

XMLSpyにおけるXQueryの更新機能

XMLSpyは、XQuery Update 1.03.0の両方をサポートしています。

以下に示されているXQuery 更新機能エディタを使用すると、構文ハイライト、コード補完、エラーメッセージ表示などの機能により、5種類の更新式を簡単に作成し、テストすることができます。 入力中に更新式の結果をプレビューできるため、問題のトラブルシューティングが容易です。 また、プレビューウィンドウ内の結果をクリックすると、インスタンスドキュメント内の該当するノードが強調表示されます。 その後、ワンクリックで更新を実行できます。 実行は、現在のファイル内、または開いているすべてのファイル、フォルダ、またはXMLSpyプロジェクト全体に対して行うことができます。

XQueryの更新文も、XQueryドキュメントの完全実行時(Alt + F10)にサポートされています。

XMLSpyというソフトウェアの導入が、なぜこれほど革新的なのでしょうか?

規格によれば、XQuery Updateの実行結果は、元のファイルと指定された変更に基づいて作成された_新しい_XMLファイルとなります。これは、それぞれの実行がドキュメントを完全に再構築することを意味します。

XMLSpyを使用すると、この中間ステップを省略できます。なぜなら、新しいファイルを作成することなく、指定されたXMLファイルに直接変更を加えられるからです。

このように、XQuery Updateを、馴染みのある「検索と置換」の仕組みを通じて利用できるようになります。しかし、XQuery Updateは、FLWOR文の強力な機能を利用した高度な更新を可能にするため、「検索と置換」の限界を克服し、複雑で高度なXMLファイルの変更を、迅速かつ容易に行うことができます。

どのように機能するのでしょうか?

この短い動画では、XMLSpyでXQuery Update式を編集する手順をわかりやすく解説しています。また、XQuery Update機能の仕組みに詳しくない方のために、その基本的な使い方についても簡単に説明しています。

XQueryの更新機能をお試しいただくには、XMLSpyの無料試用版をダウンロードできます。