Esempi di linguaggio di trasformazione

L'esempio sottostante mostra il comando map, nel caso in cui un unico campo di input viene associato a un campo di output.

<transformation>
		<map>
				<target>FredsMart/PurchaseOrder/OrderRef</target>
				<source>SSC/Payload/SalesOrder/OrderNum</source>
		</map>
</transformation>

Tutte le sezioni di dati presenti nell'origine ma non associate a una destinazione non sono incluse nel file di output. È necessario specificare un'associazione per ogni campo desiderato.

Con i seguenti dati di input:

<SSC>
  <Payload>
				<SalesOrder>
						<OrderNum>123456</OrderNum>
						<Amount>12.34</Amount>
				</SalesOrder>
  </Payload>
</SSC>

Il TML sopra riportato genererebbe il seguente file di output:

<FredsMart>
		<PurchaseOrder >> 123456</OrderRef>
		</PurchaseOrder>
</FredsMart>

Quando il TML elabora un comando, le destinazioni vengono 'assemblate' per creare una struttura globale per il documento.

L'ordine in cui vengono fornite le informazioni per il parametro non è importante: la destinazione può essere definita prima dell'origine, o viceversa. Inoltre, ogni campo viene scritto nel file di output nell'ordine in cui è stato definito.

In questo modo, è possibile modificare il TML sopra riportato in modo che comprenda un'associazione per il campo Importo nei dati di esempio, collocandolo prima del campo Numero ordine nel file di output.

<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>

Il file di output per questo TML è:

<FredsMart>
		<PurchaseOrder>
				<TotalAmount>12.34</TotalAmount>
				<OrderRef>123456</OrderRef>
		</PurchaseOrder>
</FredsMart>

Il TML supporta anche più campi origine per un solo campo di destinazione. In questo caso, ogni campo di origine viene scritto nella destinazione nell'ordine in cui compare nel TML. Vengono aggiunti i valori, come indicato di seguito.

<transformation>
  <map>
				<target>FredsMart/PurchaseOrder/OrderRef</target>
				<source>SSC/Payload/SalesOrder/OrderNum/</source>
				<source>SSC/Payload/SalesOrder/Amount</source>
  </map>
<transformation>

Il file di output per questo TML è:

<FredsMart>
  <PurchaseOrder>
				<OrderRef>123456</OrderRef>
		</PurchaseOrder>
</FredsMart>