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 enthält zwei Abschnitte: Der erste Abschnitt besteht aus einer Liste mit Elementen, wobei jedem Element eine Katalognummer und ein Typ zugeordnet ist; der zweite Abschnitt ist eine Tabelle zur Umsetzung von beschreibenden Typnamen in numerische 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.