Write to XML

Write to XML ステージは、ジョブまたはサブフローの出力を XML ファイルに書き出します。

[ファイル プロパティ] タブ

フィールド名

説明

データ ファイル

出力 XML ファイルへのパスを指定します。省略記号ボタン (...) をクリックし、必要なファイルを参照して選択します。

注: なお、Spectrum™ Technology Platform サーバーを実行しているプラットフォームが Unix または Linux の場合、これらのプラットフォームでファイル名およびパスの大文字と小文字が区別されることに注意してください。

実ファイル

[フィールド] タブで指定された構造を表示します。要素をクリックし、[データ ファイル] フィールドで指定されたファイルがその要素を含む場合、データのプレビューが表示されます。プレビューには単純要素のデータのみ表示できることに注意してください。

スキーマのエクスポート

実ファイル ビューに表示されるスキーマを表す XSD ファイルを保存するには、このボタンをクリックします。スキーマ ファイルは指定した場所に即座に保存されます。

[フィールド] タブ

[フィールド] タブでは、出力 XML ファイルに含めるフィールドを定義します。フィールドを追加すると、そのフィールドがツリー構造に表示されます。ツリーには、XML ファイルに書き出される要素または属性の名前が表示されます。要素/属性名の後ろの括弧内は、データフロー フィールド名とそのデータ タイプです。例:

これは、4 つの要素と 1 つの属性が XML ファイルに書き出されることを示します。属性は、赤い "@" 記号で示されます。

要素 State は StateProvince フィールドのデータを含み、文字列データであることに注意してください。同様に、要素 ZIP は PostalCode フィールドのデータを含み、文字列データです。XML ファイルは次のようになります。

<XmlRoot>
    <Customer Status="0">
        <AddressLine1>7713 Mullen Dr</AddressLine1>
        <City>Austin</City>
        <State>TX</State>
        <ZIP>78757-1346</ZIP>
    </Customer>
    <Customer Status="0">
        <AddressLine1>1825B Kramer Ln</AddressLine1>
        <City>Austin</City>
        <State>TX</State>
        <ZIP>78758-4260</ZIP>
    </Customer>
</XmlRoot>
注: ルート要素名 (この例では <XmlRoot>) が [ファイル プロパティ] タブで指定されています。

次の表は、[フィールド] タブのオプションについて説明したものです。

オプション名

説明

追加

フィールドを出力に追加します。

変更

フィールドを XML に書き出す方法を変更します。次のオプションを指定できます。

名前
このオプションは、単純フィールドを変更する場合に使用できます。データフロー フィールドを XML 要素または属性に書き出すかどうかを指定します。
要素
このオプションを選択すると、フィールドのデータが XML 要素に書き出されます。[要素名] フィールドで使用する要素名を指定します。
属性
フィールドのデータが親要素の属性に書き出されます。[属性名] フィールドで使用する属性名を指定します。
要素名/属性名
XML ファイルに書き出される要素または属性の名前を指定します。デフォルト名はデータフロー フィールド名です。
すべての子を次のタイプに変更する
このオプションは、複合要素を変更する場合に使用できます。複合要素を含める XML のタイプを指定します。次のいずれかです。
変更なし
子タイプは、現在定義されている要素または属性のままです。各フィールドのタイプを個別に指定するには、フィールドを選択し、[変更] をクリックします。
要素
要素の単純フィールドがすべて XML 要素として書き込まれます。
属性
要素の単純フィールドがすべて XML 属性として書き込まれます。
ネームスペース
要素または属性に使用する XML ネームスペースを指定する場合は、ここで選択します。Write to XML ステージの [フィールド] タブで、ネームスペースを作成できます。
空のフィールドを含む
null 値を持つ、またはデータを持たない XML 要素を出力ファイルに含めるには、このボックスをオンにします。このボックスをオンにしない場合、空の要素は出力に含まれません。

例えば、<City> という要素が定義されているが、City フィールドにデータを持たないレコードがある場合、[空のフィールドを含む] をオンにしていれば、XML 出力に以下が含まれます。

<City xs:nil="true"></City>

このボックスをオンにしない場合、<City> 要素は出力ファイルに書き出されません。

注: [データフロー フィールド] には、データが要素または属性に書き出されるフィールドが表示されます。これは、要素名または属性名を異なる名前に変更した場合に、その要素または属性に含まれるフィールドのデータを引き続き確認できるようにするためです。

削除

選択されたフィールドを出力から削除します。リスト フィールドを削除する場合、子フィールドもすべて削除されます。子フィールドを削除する場合、選択された子フィールドのみがリスト フィールドから削除されます。

すべて削除

すべてのフィールドを出力から削除します。

上へ移動/下へ移動

選択されたフィールドの順序を変更します。

単純要素を複合要素内に移動することはできないことに注意してください複合要素内の要素を変更する場合は、データフローの Aggregator ステージを変更して、複合要素に含めるデータフロー フィールドを含める必要があります。詳細については、フラット データからの複合 XML の作成を参照してください。

再生成

現在定義されているフィールドを、上流のチャネルから Write to XML に出力されるフィールドで置き換えます。

[実行時] タブ

オプション名 説明
複数ファイルの生成 1 つのファイルにすべてのレコードを書き込むのではなく、レコードをいくつかのファイルに書き込む場合は、このオプションを選択します。各レコードを書き込むファイルは、レコード自体に指定されます。各レコードには、レコードを書き込むファイルのファイル名または完全ファイル パスのいずれかを指定するフィールドが含まれている必要があります。例えば、(各種グループの) 各社の株価をすべてのクライアントに個別に送信する場合、この機能を使用すると、各社の株価を個別のファイルに書き込んで、それらのファイルを各クライアントに送信できます。[複数ファイルの生成] オプションを有効にする場合は、Spectrum™ Technology Platform サーバー上または FTP サーバー上のいずれかにある出力ファイルを指定する必要があります。FTP サーバー上のファイルにデータを書き込む場合は、Management Console を使用してファイル サーバーへの接続を定義する必要があります。
注: [ファイル パス フィールド] で選択する列のレコードは、ソート順になっている必要があります。レコードにファイル名または完全ファイル パスのいずれかが含まれている場合は、この機能を使用します。
ファイル パス フィールド レコードを書き込むファイルのパス (ファイル名または完全ファイル パスのいずれか) を含むフィールドを選択します。ルートに直接マップされる単純タイプ要素のみが [ファイル パス フィールド] にリストされることに注意してください。このフィールドは、[複数ファイルの生成] を選択している場合にのみ有効になります。
実行時にスキーマを生成 実行時に XSD を生成し、XML ファイルにスキーマへの noNamespaceSchemaLocation 参照を挿入するには、このオプションを選択します。属性 noNamespaceSchemaLocation の値は、XML ファイル内の XSD ファイル名です。データフローの編集時にスキーマをエクスポートする場合は、出力 XML ファイル内の XSD への参照がなくなるため、XSD への参照を手動で追加する必要があります。
スキーマ パス 出力 XML ファイルのスキーマを含む XSD ファイルを保存するパスを指定します。省略記号ボタン (...) をクリックし、必要なファイルを参照して選択します。データフローを実行すると、指定した場所にスキーマ ファイルが保存されます。