Transformationssprachenbeispiele

Das folgende Beispiel zeigt den Befehl 'map' (Verknüpfen), wobei ein Einzelfeld in der Eingabedatei mit einem Einzelfeld in der Ausgabedatei verknüpft wird.

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

Teile der Quellendaten, die nicht mit einem Ziel verknüpft sind, werden nicht ausgegeben. Jedes Feld muss speziell verknüpft werden.

Aus den folgenden Eingabedaten:

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

würde die oben angegebene TML die folgenden Ausgabedaten generieren:

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

Während der Bearbeitung der Befehle 'map' (Verknüpfen) von TML werden die Ziele 'zusammengespleißt', um eine umfassende Dokumentstruktur zu erstellen.

Die Reihenfolge der Parameterinformationen ist nicht relevant, d. h. die Zieldaten können vor den Quellendaten definiert werden oder umgekehrt. Zusätzlich wird jedes Feld in der Reihenfolge, in der es definiert wurde, in die Ausgabedaten geschrieben.

So kann die obige TML zum Einschließen einer Verknüpfung für das Betragsfeld in der Musterdatei modifiziert werden, welches dann vor dem Auftragsnummernfeld ausgegeben wird:

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

Die aus dieser TML resultierenden Ausgabedaten wären dann:

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

Mit TML kann auch ein einzelnes Zieldatenfeld aus mehreren Quellendatenfeldern entstehen. In diesem Fall wird jede Quelle in der Reihenfolge an das Ziel geschrieben, in der sie in der TML vorgegeben ist. Die Werte werden angehängt. Zur Veranschaulichung sehen sie bitte das folgende Beispiel:

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

Die aus der TML resultierenden Ausgabedaten wären dann:

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