Sie können Daten aus einem Format in ein anderes umsetzen.
Ein typisches Beispiel für die Notwendigkeit zur Umsetzung von Daten ist, wenn die Elemente in einer Nachricht durch Namen identifiziert werden, während sie in einer anderen Nachricht mit Nummern versehen sind. Beispiel:
Typname Typcode
Confectionary 2000
Newspapers 3000
Hardware 4000
Sehen Sie sich folgende Eingabenachricht an:
<Data>
<Items>
<Item>
<Cat>1000</Cat>
<Description>Milk Chocolate Bar</Description>
<Type>Confectionary</Type>
</Item>
<Item>
<Cat>1001</Cat>
<Description>Daily Newspaper</Description>
<Type>NewsPapers</Type>
</Item>
<Item>
<Cat>1002</Cat>
<Description>Kitchen Sink</Description>
<Type>Hardware</Type>
</Item>
</Items>
<TranslateTable>
<Translate>
<Name>Confectionary</Name>
<Number>2000</Number>
</Translate>
<Translate>
<Name>NewsPapers</Name>
<Number>3000</Number>
</Translate>
<Translate>
<Name>Hardware</Name>
<Number>4000</Number>
</Translate>
</TranslateTable>
</Data>
Diese Nachricht besteht aus zwei Abschnitten: einer Liste mit Elementen, in der jedem Element eine Katalognummer und ein Typ zugeordnet sind, und einer Tabelle zur Übersetzung beschreibender Typnamen und numerischer Typcodes. Fügen Sie für diese Nachricht einen Compute-Knoten mit der folgenden Umsetzung ein:
SET OutputRoot.XMLNS.Result.Items.Item[] =
(SELECT M.Cat, M.Description, T.Number As Type
FROM
InputRoot.XMLNS.Data.Items.Item[] As M,
InputRoot.XMLNS.Data.TranslateTable.Translate[] As T
WHERE M.Type = T.Name
);
Es wird folgende Ausgabenachricht generiert:
<Result>
<Items>
<Item>
<Cat>1000</Cat>
<Description>Milk Chocolate Bar</Description>
<Type>2000</Type>
</Item>
<Item>
<Cat>1001</Cat>
<Description>Daily Newspaper</Description>
<Type>3000</Type>
</Item>
<Item>
<Cat>1002</Cat>
<Description>Kitchen Sink</Description>
<Type>4000</Type>
</Item>
</Items>
</Result>
Im Ergebnis wurde jeder Typname in den entsprechenden Code konvertiert. In diesem Beispiel befanden sich die Daten und die Umsetztabelle in derselben Nachrichtenbaumstruktur, dies ist jedoch keine Voraussetzung. Die Umsetztabelle kann beispielsweise auch in einer Datenbank codiert sein oder in der lokalen Umgebung von einem vorherigen Compute-Knoten konfiguriert worden sein.