手順
-
tXMLMapコンポーネントをダブルクリックして、[Map Editor] (マップエディター)を開きます。
入力エリアにはデフォルトの基本的なXMLストラクチャーが既に入力されており、一番上のテーブルがメインの入力テーブルになっています。
-
row1
入力テーブルでCustomerノードを右クリックし、コンテキストメニューから[Import From File] (ファイルからインポート)を選択します。ポップアップダイアログボックスでXMLソースファイルを参照して、tXMLMapが受信するデータが使うXMLツリーストラクチャーをインポートします。このシナリオでは、XMLソースファイルはCustomer.xmlで、これはCustomersという名前のtFileInputXMLコンポーネントへの入力データです。XSDファイルからXMLツリーをインポートすることもできます。XSDファイルから入力または出力XMLツリーストラクチャーをインポートする際に、XMLツリーのルートとしてエレメントを選択できます。XSDファイルからのXMLツリーストラクチャーのインポートについては、 Talend Studioユーザーガイドをご覧ください。
-
インポートしたXMLツリーで
Customer
ノードを右クリックし、コンテキストメニューから[As loop element] (ループエレメントとして)を選択して、ループエレメントとして設定します。 -
このマップエディターの下側にある[Schema editor] (スキーマエディター)タブをクリックして、対応するビューを開きます。次に、このビューの右側で[Document] (ドキュメント)タイプの1カラムのCustomer_StatesをCustomerスキーマテーブルに追加します。対応するXMLルートは、出力フローを表す右上のCustomer出力テーブルに自動的に追加されます。
-
Customer出力テーブルでCustomer_Statesノードを右クリックし、コンテキストメニューから[Import From File] (ファイルからインポート)を選択します。ポップアップダイアログボックスで、XMLツリーストラクチャーのインポート元のXMLファイルを参照します。このシナリオではCustomer_State.xmlです。
-
customer
ノードを右クリックし、コンテキストメニューから[As loop element] (ループエレメントとして)を選択して、ループエレメントとして設定します。 -
row1
入力テーブルでid
ノードをクリックし、Customer出力テーブルの@id
ノードの行の[Expression] (式)カラムにドロップします。同じ手順で、入力テーブルから出力テーブルに、CustomerName
をCustomerName
に、CustomerAddress
をCustomerAddress
に、idState
をidState
にマッピングします。状況によっては、出力XMLツリーに空のエレメントを保持しなければならない場合があります。その場合は、tXMLMapを使ってそれらを管理できます。tXMLMapを使って空のエレメントを管理する方法は、 Talend Studioユーザーガイドをご覧ください。
-
Customer出力テーブルの上部にあるレンチアイコンをクリックし、[All in one] (オールインワン)プロパティの値をtrueに設定して、単一のXMLフローを生成します。[All in one] (オールインワン)機能については、 Talend Studioユーザーガイドをご覧ください。
-
[OK]をクリックして変更を確定し、[Map Editor] (マップエディター)を閉じます。
このシナリオの前半で説明した手順で必要なループエレメントを設定せずに[Map Editor] (マップエディター)を閉じると、ルートエレメントが自動的にループエレメントとして設定されます。