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>