手順
-
デザインワークスペースでtXMLMapをダブルクリックし、エディターを開きます。
-
入力フロー側(左)のメインの行テーブルでpayloadという名前のカラムを右クリックし、コンテキストメニューから[Import from Repository] (リポジトリーからインポート)を選択します。[Metadatas] (メタデータ)ウィザードが開きます。
XMLツリーの作成方法の詳細は、ドキュメントタイプを使ってXMLツリーを作成をご覧ください。
-
このウィザードで[File XML] (XMLファイル)ノードを展開し、リクエスト側のスキーマを選択し、[OK]をクリックして選択を確定します。この例では、スキーマはgetAirportInformationByISOCountryCodeです。
- 同じ手順を実行して、応答側(右)の階層スキーマをインポートします。この例では、スキーマはgetAirportInformationByISOCountryCodeResponseです。
- 次に、ルックアップデータへの結合を作成するために、入力フロー側(左)のメインの行テーブルでCountryAbbrviationノードをクリックし、それをクリックしたまま、ルックアップフローのExp.keyカラムにドロップします。これはid行に対応するものです。
- ルックアップフローを表すテーブルで右上のレンチアイコンをクリックし、設定パネルを開きます。
-
[Lookup Model] (ルックアップモデル)を[Reload at each row] (行ごとにリロード)に設定し、[Match Model] (一致モデル)を[All matches] (すべて一致)に設定し、[Join Model] (結合モデル)を[Inner join] (内部結合)に設定します。
[Lookup Model] (ルックアップモデル)の詳細は、ルックアップを処理をご覧ください。[Match Model] (一致モデル)の詳細は、明示的結合を使用する方法をご覧ください。[Join Model] (結合モデル)の詳細は、内部結合を使用をご覧ください。
-
同じ手順を繰り返して、出力側(右)の設定パネルを開き、[All in one] (一度に1つの応答)オプションを[true] (真)に設定します。これにより、1つの要求が送信されると1つの応答のみが返されます。この設定を行わないと、所定のデータベースの空港データは複数の空港のデータを提供する場合があり、1つの要求として送信した国コードに対して複数の応答が返されることがあります。
[All in one] (オールインワン)の詳細は、エレメントを1つのドキュメントに出力する方法をご覧ください。
-
ルックアップフロー(左)で名前の行をクリックし、それをクリックしたまま[Expression] (式)カラムにドロップします。これは出力フロー(このサンプルではairport_response)のXMLツリービューのtns:getAirportInformationByISOCountryCodeResultノードに対応します。
tXMLMapエディターは次のようになります:
注:実際は、ルックアップに階層データも追加できます。
- [OK]をクリックしてエディターを閉じ、この設定を有効にします。