複数のループを持つtXMLMapを設定する - 7.3

tXMLMap

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > 変換処理コンポーネント > tXMLMap
データガバナンス > サードパーティーシステム > 変換処理コンポーネント > tXMLMap
データクオリティとプレパレーション > サードパーティーシステム > 変換処理コンポーネント > tXMLMap

手順

  1. tXMLMapコンポーネントをダブルクリックして、[Map Editor] (マップエディター)を開きます。
    入力エリアにはデフォルトの基本的なXML構造が既に入力されており、一番上のテーブルがメインの入力テーブルになっています。
  2. row1入力テーブルでdocノードを右クリックし、コンテキストメニューから[Import From File] (ファイルからインポート)を選択します。ポップアップダイアログボックスでXMLソースファイルを参照して、tXMLMapが受信するデータが使うXML構造をインポートします。このシナリオでは、XMLソースファイルはProductsIn.xmlで、tFileInputXMLへの入力データが含まれています。
  3. インポートしたXMLツリーでmanufacturerノードを右クリックし、コンテキストメニューから[As loop element] (ループエレメントとして)を選択して、ループエレメントとして設定します。同じようにしてtypesノードとsaleノードをそれぞれループエレメントとして設定します。
  4. マップエディターの下側にある[Schema editor] (スキーマエディター)タブをクリックして、対応するビューを開きます。次に、このビューの右側で[Document] (ドキュメント)タイプの1カラムのoutDocをスキーマテーブルに追加します。対応するXMLルートは、出力フローを表す右上の出力テーブルに自動的に追加されます。
  5. outDoc出力テーブルで、予期される出力データを含み、予期されるXML構造を提供するXMLファイルから、使用するXMLデータ構造をインポートします。
    出力テーブルのsaleノードを右クリックし、コンテキストメニューから[As loop element] (ループエレメントとして)を選択します。同じようにしてmanufacturerノードとtypesノードをそれぞれループエレメントとして設定します。
  6. row1入力テーブルで@categoryノードをクリックし、outDoc出力テーブル内にある@categoryノードの[Expression] (式)フィールドにドロップします。

    同じようにして、他のノードを入力テーブルから出力テーブルにマップします:

    • @nameノードを@nameノードに

    • summaryノードの下にある@unitノードを@unitノードに

    • @idノードを@idノードとmanufacturer_idノードに

    • @dateノードを@dateノードに

    • nameノードを@nameノードに

    • typeノードをtypeノードに

    • @typeノードを@sales_typeノードに

    • incomeノードをsale (loop)ノードに

  7. outDoc出力テーブルの上部にあるレンチアイコンをクリックし、[All in one] (オールインワン)プロパティの値をtrueに設定して、単一のXMLフローを生成します。[All in one] (オールインワン)機能については、 Talend Studioユーザーガイドを参照してください。
  8. manufacturerループエレメントの横にある[...]ボタンをクリックし、[Configure source loops] (ソースループの設定)ポップアップダイアログボックスで[+]ボタンをクリックして、1つのソースループmanufacturerを追加します。同じようにしてsaleループエレメントに1つのソースループsaleを追加します。
  9. typesループエレメントの横にある[...]ボタンをクリックし、[Configure source loops] (ソースループの設定)ポップアップダイアログボックスで2つのソースループ、typesmanufacturerを追加します。typesソースループのシーケンス番号が0であることを確認して、出力フローの相対部分がtypeエレメントの値に基づいてソートされるようにします。
    注:

    ループエレメントが入力フローの複数のループエレメントからマッピングを受け取る場合、入力ループのシーケンスを設定できます。たとえば、このシナリオの出力フローのtypesループエレメントは、manufacturerループエレメントに属する@idノード、および入力フローのtypesループエレメントに属するtypeノードにマッピングされます。出力フローは、主要な typesループに従ってソートされます。

  10. [OK]をクリックしてマッピングを確定し、[Map Editor] (マップエディター)を閉じます。