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>