Transformation Language (TML) のデータ例
入力データの 1 つのフィールドを出力データの 1 つのフィールドにマッピングする map コマンドの例を次に示します。
<transformation>
<map>
<target>FredsMart/PurchaseOrder/OrderRef</target>
<source>SSC/Payload/SalesOrder/OrderNum</source>
</map>
</transformation>
target にマッピングされない source を含むデータ部分は出力されません。各フィールドをそれぞれマッピングする必要があります。入力データを例に示します。
<SSC>
<Payload>
<SalesOrder>
<OrderNum>123456</OrderNum>
<Amount>12.34</Amount>
</SalesOrder>
</Payload>
</SSC>
TML は次の出力データを生成します。
<FredsMart> <PurchaseOrder>123456</PurchaseOrder> </FredsMart>
TML によって各コマンドが処理されるとき、target が結合され、全体の文章構造が作成されます。パラメータ情報が与えられる順序は重要ではありません。target を source の前に定義することも、source を target の前に定義することもできます。さらに、各フィールドは、定義された順序で出力データに書き込まれます。このため、TML を修正してサンプルデータの金額フィールドへのマッピングを含め、オーダー番号フィールドの前に出力することができます。
<transformation>
<map>
<source>SSC/Payload/SalesOrder/Amount</source>
<target>FredsMart/PurchaseOrder/TotalAmount</target>
</map>
<map>
<target>FredsMart/PurchaseOrder/OrderRef</target>
<source>SSC/Payload/SalesOrder/OrderNum</source>
</map>
</transformation>
TML からの出力データは次のようになります。
<FresMart>
<PurchaseOrder>
<TotalAmount>12.34</TotalAmount>
<OrderRef>123456</OrderRef>
</PurchaseOrder>
</FredsMart>
また、TML は 1 つの target フィールドに対して複数の source フィールドをサポートします。この場合、各 source は TML で指定された順序で target に書き込まれます。この例で示されているように値が付加されます。
<transformation>
<map>
<target>FredsMart/PurchaseOrder/OrderRef</target>
<source>SSC/Payload/SalesOrder/OrderNum</source>
<source>SSC/Payload/SalesOrder/Amount</source>
</map>
<transformation>
TML からの出力データは次のようになります。
<FredsMart>
<PurchaseOrder>
<OrderRef>123456</OrderRef>
</PurchaseOrder>
</FredsMart>