Демонстрационные данные в функции «Язык преобразований» (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>