ドキュメントタイプの設定 - 7.0

Talend Big Data Platform Studioユーザーガイド

author
Talend Documentation Team
EnrichVersion
7.0
EnrichProdName
Talend Big Data Platform
task
ジョブデザインと開発
EnrichPlatform
Talend Studio

このタスクについて

[Document] (ドキュメント)データタイプは、Talendで提供されるデータ型の1つです。[Document] (ドキュメント)タイプは、[Schema editor] (スキーマエディター)で対応するデータのスキーマを編集する際にセットアップします。スキーマエディターの詳細は、[Schema Editor] (スキーマエディター)の使用を参照して下さい。

次の図では、入力フローでの例を説明しており、Customer[Document] (ドキュメント)タイプにセットアップしています。複製するには、マップエディターで、[+]ボタンをクリックして[Schema editor] (スキーマエディター)の入力側で1行を追加し、名前を変更して、ドロップダウンリストで表示されたデータ型の中から[Document] (ドキュメント)を選択します。

多くの場合、tXMLMapは前後のコンポーネントのスキーマをtFileInputXMLコンポーネントなどから取得し、ESBで使用する場合はtESBProviderRequestコンポーネントから取得します。そうすることで、XMLフローの処理でDocument (ドキュメント)タイプをセットアップする手間を大幅に省略できます。ただし、ドキュメント行の内容となるXML構造を変更するには、引き続きマップエディターを使用する必要があります。

注: [Document] (ドキュメント)フローには、ユーザー定義のXMLツリーが含まれますが、他のスキーマと同じく単一フィールドのスキーマとなり、フィールド間でデータ型が異なる場合があることに注意して下さい。スキーマを設定する方法の詳細は、基本設定タブを参照して下さい。
データの行で[Document] (ドキュメント)タイプをセットアップすると、マップエディターの対応するデータフローテーブルに、この構造の詳細を反映する基本的なXMLツリー構造が自動的に作成されます。この基本構造は、tXMLMapを使用する有効なXMLツリーに必要な最小エレメントを示しています。
  • ルートエレメント: XMLツリーを処理するために必要な最小エレメントで、高度なXMLツリーを開発するための基盤にもなります。

  • ループエレメント: XMLツリーの階層データを読み取るために反復処理するエレメントを判別します。デフォルトでは、ルートエレメントはループエレメントとしてセットアップされます。

この図は、入力フローCustomerの例を示します。デフォルトでroot (ルート)とタグ付けされ生成されたXMLルートに基づいて、目的のXMLツリー構造を開発できます。

そのためには、次の手順に従います。

手順

  1. 以下のいずれかのソースのタイプからカスタムXMLツリー構造をインポートします。
    注: 必要に応じて、コンテキストメニューで提供されるオプションを使用してXMLツリーを手動で開発できます。
  2. 必要に応じて、作成するXMLツリーのループエレメントをリセットします。必要な数だけループを設定できます。この手順では、次のような状況について考慮しなければならない場合があります。
  3. オプション: 必要に応じて、コンテキストメニューで提供されるオプションを使用してインポートしたXMLツリーを引き続き変更できます。次の表では、使用可能なオプションで実行できる操作を説明しています。

    オプション

    操作

    [Create Sub-element] (サブエレメントの作成)および[Create Attribute] (属性の作成)

    XMLツリーを開発するためのエレメントまたは属性を追加します。関連項目: サブエレメントまたは属性をXMLツリーストラクチャーに追加する

    [Set a namespace] (ネームスペースの設定)

    インポートしたXMLツリーのネームスペースを追加および管理します。関連項目: ネームスペースの管理

    [Delete] (削除)

    エレメントまたは属性を削除します。関連項目: XMLツリーストラクチャーからエレメントまたは属性を削除する

    [Rename] (名前の変更)

    エレメントまたは属性の名前を変更します。

    [As loop element] (ループエレメントとして使用)

    エレメントをループエレメントとして設定またはリセットします。複数のループエレメントおよびオプションのループエレメントがサポートされています。

    [As optional loop] (オプションループとして使用)

    このオプションは、ループエレメントを定義するまで使用できません。

    対応するエレメントがソースファイルに存在する場合、オプションループエレメントは通常のループエレメントと同様に機能します。存在しない場合は、ループエレメントとして自動的にその親エレメントがリセットされます。ソースファイルの親エレメントがない場合は、ルートエレメントまで高いレベルのエレメントが採用されます。ただし実際の運用では、XMLツリーとソースファイル構造に差異がある場合、ソースファイルにXMLツリーを適合させてより高いパフォーマンスを得ることをおすすめします。

    [As group element] (グループエレメントとして)

    出力側のXMLツリーで、エレメントをグループエレメントとして設定します。関連項目: 出力データのグループ化

    [As aggregate element] (集約エレメントとして)

    出力側のXMLツリーで、エレメントを集約エレメントとして設定します。関連項目: 出力データの集約

    [Add Choice] (選択の追加)

    選択エレメントを設定します。この下で開発されたすべての子エレメントは、この定義に含まれることになります。この選択エレメントは、XSDコンセプトの1つに由来します。これにより、tXMLMapでドキュメントフローを読み書きするXSD選択エレメントの機能を実行できます。

    tXMLMapで選択エレメントが処理される際、マッピング式が適切に定義されていないと、定義に含まれるエレメントが出力されません。

    注:

    tXMLMapコンポーネントでは、インポートしたXSDファイルで設定済みのすべての選択エレメントが自動的に定義されます。

    [Set as Substitution] (代替として設定)

    代替エレメントを設定して、対応するXSDで定義されたヘッドエレメントを代替可能として指定します。代替エレメントにより、tXMLMapでドキュメントフローを読み書きするXSD代替エレメントの機能が実行できるようになります。

    tXMLMapが置換エレメントを処理する際に、マッピング式が適切に定義されていないと、その定義に含まれるエレメントは出力されません。

    注:

    tXMLMapコンポーネントでは、インポートしたXSDファイルで設定済みのすべての代替エレメントが自動的に定義されます。

    次のセクションでは、XMLツリーを作成するプロセスの詳細を説明しています。