Ejemplos de lenguaje de transformaciones

El ejemplo que aparece a continuación muestra el comando "map" en un contexto de campo sencillo donde un solo campo de entrada se mapea con un solo campo de salida.

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

Los datos que aparecen en el origen y que no se mapean con un destino se excluyen de la salida. Cada campo se debe mapear de forma específica.

Con los siguientes datos de entrada:

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

el TML generaría la siguiente salida:

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

Cuando TML procesa cada comando, los destinos se "ensamblan" para crear la estructura general del documento.

El orden en que se ofrece la información de los parámetros carece de importancia, es decir, el destino se puede definir antes del origen y viceversa. De forma adicional, cada campo se registra en la salida en el orden en que se define.

Así pues, podemos modificar el TML anterior para incluir el mapeo del campo "Importe" en los datos de ejemplo y colocarlo en la salida antes del campo "Número de orden".

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

La salida para este TML sería:

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

TML también admite múltiples campos origen para un solo campo destino. En este caso, cada origen se registra en el destino en el orden en que se proporcionó en TML. Los valores se añaden: El ejemplo que aparece a continuación lo demuestra.

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

La salida para este TML sería:

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