Häufig müssen Daten aus einem Format in ein anderes übersetzt werden. Beispielsweise werden die Elemente in der einen Nachricht mit Namen bezeichnet, während die Elemente in einer anderen Nachricht mit Nummern versehen sind. Beispiel:
Type Name Type Code Confectionary 2000 Newspapers 3000 Hardware 4000
Betrachten Sie die folgende Eingabenachricht:
<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: Der erste ist eine Liste von Elementen (Items), in der jedem Element eine Katalognummer und ein Typ zugeordnet wird; der zweite ist eine Umsetztabelle (TranslateTable) für die Umsetzung zwischen beschreibenden Typnamen und numerischen Typcodes. Für diese Nachricht wird ein Rechenknoten mit der folgenden Umwandlung eingefügt:
SET OutputRoot.XML.Result.Items.Item[] = (SELECT M.Cat, M.Description, T.Number As Type FROM InputRoot.XML.Data.Items.Item[] As M, InputRoot.XML.Data.TranslateTable.Translate[] As T WHERE M.Type = T.Name );
Als Ergebnis 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 wurden die Typnamen in die entsprechenden Codes umgewandelt. 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 Rechenknoten konfiguriert worden sein.