# 出力モードを定義

ドキュメント型データの出力モードを定義するには、すべてのXMLエレメントを単一のXMLフローに入れるかどうか、また空のエレメントが存在する場合に出力するかどうかを定義します。そのためには、作成したXMLツリーの構造を変更しないようにします。

## エレメントを1つのドキュメントに出力する

### このタスクについて

常に出力エレメントを分類し、出力XMLフローを分割する集約エレメントを使用していない場合、tXMLMapエディターで[All in one] (オールインワン)機能を使用して、XMLフローを単一のフローとして出力するか、あるいは個別のフローとして出力するか決定できます。

[Map editor] (マップエディター)の出力側で、次の手順に従います。

### 手順

1. ![\[tMap settings\] (tMap設定)](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/tmap-settings-icon.png)をクリックしてマップ設定パネルを開きます。次の図に例を示します。
2. [All in one] (オールインワン)フィールドをクリックして、ドロップダウンリストからtrueまたはfalseを選択して、出力XMLフローを単一のフローにするかどうかを指定します。

   ![\[All in one\] (オールインワン)フィールド。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/xmlmap-all_in_one.png)
   * trueを選択すると、XMLデータはすべて単一のフローで出力されます。この例では、単一フローは次のようになります。

     ![trueが選択された場合の単一フローでの出力例。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/xmlmap-all_in_one-example1.png)

     このフローのストラクチャーは次のようになります:

     ![構造化ファイルの1つのフローでの出力例。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/xmlmap-all_in_one-example.png)

   * falseを選択すると、データは個別フローで出力され、それぞれのループが1つのフローになり、グルーピングや集約は行われません。この例のフローは次のようになります:

     ![falseが選択された場合の個別フローでの出力例。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/xmlmap-all_in_one_false-example.png)

     各フローには、1つの完全なXMLストラクチャーが含まれます。最初のフローを例にとると、そのストラクチャーは次のようになります。

     ![構造化ファイルの1つのフローでの出力例。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/xmlmap-all_in_one_false-example1.png)

   情報メモ注: [All in one] (オールインワン)機能は、集約エレメントを使用していると無効になります。

## マップエディターで空エレメントを管理

### このタスクについて

tXMLMapでtWriteXMLFieldを使用して空エレメントを作成する場合や、出力XMLデータフローのXMLノードに入力カラムが関連付けられていない場合など、データをXMLフローに変換するプロセスで、空エレメントを作成して出力する必要が生じる場合があります。

逆に、何らかの理由で空エレメントを出力XMLツリーに保持する必要があっても、出力する必要はない場合もあります。

tXMLMapでは、空エレメントを作成するかどうかをBoolean値で設定できます。[Map editor] (マップエディター)の出力側で、次の手順に従います。

### 手順

1. ![\[tMap settings\] (tMap設定)](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/tmap-settings-icon.png)をクリックしてマップ設定パネルを開きます。
2. パネルで[Create empty element] (空エレメントの作成)フィールドをクリックして、ドロップダウンリストからtrueまたはfalseを選択して、空エレメントを出力するかどうかを指定します。

   ![\[Create empty element\] (空のエレメントを作成)フィールド。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/xmlmap-empty_element.png)
   * trueを選択すると、出力XMLフローに空エレメントが作成されます(例: &lt;customer&gt;&lt;LabelState/&gt;&lt;/customer&gt;)。

   * falseを選択すると、空エレメントは出力されません。

## 複数の入力ループのシーケンスを定義

### このタスクについて

ループエレメント、またはフラットデータフローで入力フローの複数のループエレメントからマッピングを受け取る場合、入力ループのシーケンスを定義する必要があります。このシーケンスの最初のループエレメントがプライマリループになるため、このシーケンスに関連する変換処理では、最初にこのエレメントでのループが実行され、出力データがこのエレメントの値でソートされます。

![Sequenceウィンドウの概要。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/txmlmap-loop_sequence.png)

たとえば、この図ではtypesエレメントがプライマリループになり、出力データはこのエレメントの値でソートされます。

!['types'エレメント用のXMLファイルの例。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/txmlmap-multiloop_sequence_result.png)

この場合、1つの出力ループエレメントが複数の入力ループエレメントを受け取り、ループエレメントの横、またはフラットデータフローを示すテーブルの先頭に[...]ボタンが表示されます。ループのシーケンスを定義するには、次の手順に従います。

### 手順

1. [...]ボタンをクリックすると、上記のシーケンス設定ウィンドウが開きます。
2. 上向きまたは下向きフラッシュボタンを使用して、シーケンスを変更します。