複数のループを持つ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 Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > 変換処理コンポーネント > tXMLMap
データガバナンス > サードパーティーシステム > 変換処理コンポーネント > tXMLMap
データクオリティとプレパレーション > サードパーティーシステム > 変換処理コンポーネント > tXMLMap
Last publication date
2024-02-22

手順

  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] (マップエディター)を閉じます。