Die ATTACH-Anweisung (Anhänganweisung) hängt einen Teil einer Nachrichtenbaumstruktur an einer neuen Position in der Nachrichtenhierarchie an.
Das folgende Beispiel veranschaulicht die Verwendung der ATTACH-Anweisung zusammen mit der DETACH-Anweisung (siehe DETACH-Anweisung) zum Modifizieren einer Nachrichtenstruktur. Der dynamische Verweis, der in der DETACH-Anweisung angegeben wird, muss auf eine modifizierbare Nachrichtenbaumstruktur verweisen, z. B. auf 'Environment', 'LocalEnvironment', 'OutputRoot', 'OutputExceptionList' oder 'InputLocalEnvironment'.
Für die Verwendung von ATTACH gibt es einige Einschränkungen. Im Allgemeinen werden von den Ausgabebaumstrukturen eines Rechenknotens abgehängte Elemente nicht an die Umgebung oder an Eingabebaumstrukturen angehängt.
<Data> <Order> <Item>Käse <Type>Stilton</Type> </Item> <Item>Brot</Item> </Order> <Order> <Item>Knoblauch</Item> <Item>Wein</Item> </Order> </Data>Dann ergeben die ESQL-Anweisungen
SET OutputRoot = InputRoot; DECLARE ref1 REFERENCE TO OutputRoot.XML.Data.Order[1].Item[1]; DETACH ref1; ATTACH ref1 TO OutputRoot.XML.Data.Order[2] AS LASTCHILD;folgende neue Nachrichtenstruktur:
<Data> <Order> <Item>Brot</Item> </Order> <Order> <Item>Knoblauch</Item> <Item>Wein</Item> <Item>Käse <Type>Stilton</Type> </Item> </Order> </Data>
Weitere Informationen zu dynamischen Referenzen finden Sie im Abschnitt Dynamische Feldverweise erstellen.