XQuery 更新機能ツール

XQUF式を編集およびテストする

  • XQUF 1.0 および 3.0 のサポート
  • XQuery式を構築およびテストするためのツール
  • 構文ハイライト、コード補完機能
  • すぐに使えるコード例です
  • エラーメッセージの報告
  • インテリジェントなXQUF自動補完機能
  • XQueryの即時更新プレビュー
  • XQUFを実行して、1つまたは複数のファイルを処理します
  • 指定されたXMLファイルに直接変更を加えてください
  • 広範な XQuery ツール

XQuery 更新機能 エディタ

XMLSpyを使用して、XQueryの更新機能に関する記述を編集する

XQuery Update Facility (XQUF)は、XQueryの拡張機能です。XQUFは、XQueryの機能を拡張し、開発者がXQueryコード内でXMLデータを単に検索するだけでなく、変更することも可能にします。これにより、XMLデータの操作や変換のための強力なツールとなります。

XQueryの更新機能は、XMLデータに対して永続的な変更を加えるために、`FLWOR`式を使用します。これらの式は、以下の操作のいずれか、または全てを組み合わせてノードを更新します

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

XMLSpyは、XQuery Update 1.0および3.0の両方をサポートしています。上記のXPath/XQueryビルダーを使用すると、構文の強調表示、コード補完、エラーメッセージ表示などの機能により、5種類の更新式を簡単に作成し、テストすることができます。

XPath/XQuery ウィンドウには、XQuery 更新式を構築およびテストするための、数多くの便利なツールが用意されています。その中には以下のようなものがあります

  • ポイントアンドクリックによる式構築: 豊富な演算子、式、および組み込み関数が一覧表示されており、ダブルクリックすることで現在の式に挿入できます。関数は、「#」というプレースホルダーで引数が示されているため、式を迅速かつ正確に構築できます。一覧内の各項目にマウスカーソルを合わせると、その説明が表示されます。
  • 強化された入力支援機能:組み込み関数の説明を表示し、入力中に役立つ関数やリストエントリーの詳細情報を表示することで、開発速度を向上させ、正確性を確保します。
  • XQuery 更新機能で使用できる、すぐに使えるコードスニペット が、オペレーター/式 パネルに表示されています。ここでは、各スニペットの説明を読み、ダブルクリックすることで、カーソル位置にその式を挿入できます。
  • 9つのタブ:複雑な式を開発・テストするために使用します。あるタブでXQUFの記述を作成した後、新しいタブに切り替えることで、新しい式の構築と結果の分析を行うことができます。そして、以前のタブに戻ると、その式と結果はそのまま残っています。これにより、複数の式を並行して開発し、それぞれに対して段階的に変更を加えることができ、各タブに対して、式と結果の両方を保持することができます。

入力する際に、更新式の結果をプレビューで確認できるため、問題のトラブルシューティングが容易です。プレビューウィンドウ内の結果をクリックすると、該当するノードがインスタンスドキュメント上で強調表示されます。その後、ワンクリックで更新を実行できます。実行範囲は、現在のファイル、開いているすべてのファイル、フォルダ、またはXMLSpyプロジェクト全体から選択できます。

XMLSpy XQUFエディタの革新的な点は何ですか?

規格によれば、XQuery Updateの実行結果は、元のファイルと指定された変更に基づいて生成される新しいXMLファイルです。これは、それぞれの実行が文書全体を完全に書き換えることを意味します。

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

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

以下の動画でその仕組みをご確認いただき、XMLSpyの無料トライアルをお試しください。

XQueryの更新機能エディターの使い方を学びましょう