このセクションでは、XML Sort ツールを構成および適用する方法について説明します。このツールは、再帰的に、または選択したソート ターゲットとソート キー ノードで XML をソートします。
このセクションの内容:
XML Sort ツールとは
多くのサービスは、呼び出すごとに異なる順序で結果のリストを返します。そのように要素の順序がランダムであるために、テスト ケースの検証を定義するのが難しくなる場合があります。XML Sort ツールは、この問題に対応するためのツールです。たとえば、Parasoft Book Store サービスから book アイテムを取得して価格順に並べなおし、各 book アイテムの下に辞書式順序で著者リストを並べることができます。XML Sort ツールは、他の XML ツールの出力に連結できます。たとえば SOAP Client の SOAP Response などです。ツールを追加し、任意のソート方法を定義すると、指定した設定でソートされた XML コンテンツを出力します。ソートしたコンテンツは XML Assertor、 Diff、またはその他の検証ツールで検証できます。
[再帰的 XML ソート] オプションを使用すると、すべてのノードを再帰的にソートできます (たとえば、diff の前に順序の影響を排除するためなどに)。まず、ツールはノードをタイプによってソートします。最初にテキスト ノードが処理され、次に処理指令、その後に要素が続きます。要素はまず要素名によってソートされ、次に属性の名前/値、テキスト コンテンツによってソートされ、最後に同じ条件に従って子ノードがソートされます。テキスト ノード間の相対的な順序は変更されません。 処理指令はターゲットおよびデータ値の順にソートされます。
[カスタム XML ソート] オプションを使用すると、 1 つ以上のソート方法を定義できます。複数のソート方法を定義した場合、 XML ドキュメントはまず最初の方法でソートされ、次に 2 番目の方法でソートされ、というようになります。各ソート方法は、「ソート ターゲット」というラベルの要素のグループをソートすることが目的であり、これらのターゲット要素はソート方法で定義されたソート キー条件を使用してソートされます。
XML Sort ツールの構成
XML Sort を構成するには、次の操作を行います。
- 別のツール (SOAP Client または Messaging Client など) の出力として XML Sort ツールを追加します。構成プロセスをより簡単に作成するために、次のいずれかを実行することを推奨します。
- トラフィック ビューアーでトラフィックをキャプチャできるので、その他のツールを最初に呼び出します。レスポンス メッセージは後から (サービスから戻ってくるサンプル メッセージに基づいて) ソートを構成するのに役立ちます。
- その他のツールを実行できない場合、 WSDL、 スキーマ、または可能であればリクエスト メッセージでクライアントを構成します。
- 使用するソート モードを指定します。
- すべてのノードを再帰的にソートするには、[再帰的 XML ソート] を選択します。この場合、その他の構成は不要です。
- 1 つ以上のソート方法を定義するには、[カスタム XML ソート] を選択します。この場合、次の手順に進みます。
- XML Sort ツールのエディターで [追加] をクリックします。ソートしたい要素のリストを定義するウィザードが起動します。このリストを構成すると、 [ターゲット XPath] フィールド は XML Sort ツールの XML 入力に対して評価されたときにノード リストを返します。これがソートされるノード一覧です。
- ウィザードの最初のページで、 [変更] をクリックし、次のいずれかを実行します。
- ステップ 1 を実行した場合、 XPath の視覚的な構成を支援するために、 XPath エディターにサンプル メッセージがデータ投入されます。この場合、ソートしたいノードの親を選択する必要があります。生成された XPath 式を調整し、[XPath の検証] ボタンを使用してテストできます。
または、 ステップ 1 を実行しなかった場合、 SOAtest は XML がどのように見えるかを知るすべがありません。この場合、 XPath を手動で提供する必要があります。
- ステップ 1 を実行した場合、 XPath の視覚的な構成を支援するために、 XPath エディターにサンプル メッセージがデータ投入されます。この場合、ソートしたいノードの親を選択する必要があります。生成された XPath 式を調整し、[XPath の検証] ボタンを使用してテストできます。
- ウィザードの [次へ] をクリックし、ターゲット要素のソート方法を定義します (例: ソート キーとして使用されるべきターゲット要素配下のノードを指定します)。以下の点に注意してください。
デフォルトで、 SOAtest はターゲット要素のテキスト コンテンツをキーとして使用するためのエントリを追加します。
- デフォルトのエントリは、 [変更] ボタンをクリックしてキー XPath をカスタマイズすることで変更できます。
- ステップ 1 を実行した場合、エディターによって生成された XPath はターゲット要素に関連します。言い換えると、個別のターゲット ノードから始まる XPath クエリーを表現します。XPath の絶対式が変わりに構成できます。構成する場合、すべての XML コンテンツのルート ノードに基づきます。
- さらにキー XPath を構成して、 2 番目や 3 番目のソート キーとして使用できます。ターゲット要素が最初のキー XPath に基づいてソートされた後、2 番目のキー XPath に一致する要素はこれに基づいてソートされる、ということを意味します。
- [終了] をクリックしてウィザードを終了します。