Демонстрационные данные в функции «Язык преобразований» (TML)
В этом разделе приводятся примеры команды сопоставления, где одно поле входных данных сопоставляется с одним полем выходных данных.
<transformation> <map> <target>FredsMart/PurchaseOrder/OrderRef</target> <source>SSC/Payload/SalesOrder/OrderNum</source> </map> </transformation>
Любой фрагмент данных из источника без сопоставления с целью не будет представлен в выводе. Для каждого поля требуется специальное сопоставление. При использовании следующих входных данных:
<SSC> <Payload> <SalesOrder> <OrderNum>123456</OrderNum> <Amount>12.34</Amount> </SalesOrder> </Payload> </SSC>
TML сгенерирует такие выходные данные:
<FredsMart> <PurchaseOrder>123456</PurchaseOrder> </FredsMart>
При обработке каждой команды при помощи TML все целевые фрагменты соединяются для создания единой структуры документа. Порядок представления информации параметров неважен, т.е. цель может быть определена до определения источника и наоборот. Кроме того, каждое поле записывается в выходных данных в порядке его определения. Таким образом, 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 также поддерживает несколько исходных полей для одного целевого поля. В этом случае каждое исходное поле записывается в целевое поле в порядке его появления в TML. Значения присоединяются, как показано в данном примере:
<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>