Mit der komplexen LIST-Konstruktorfunktion können explizit Listen mit Werten generiert werden, die Feldern in einer Ausgabenachricht zugeordnet werden können.
Eine Liste (LIST) besteht aus einer Folge von nicht benannten Werten. Bei der Zuordnung zu einem Feldgruppenverweis (angegeben durch [] am Ende des letzten Elements des Verweises) werden die einzelnen Werte der Reihe nach einem Element der Feldgruppe zugeordnet. Eine Liste kann keinem Feldverweis zugeordnet werden, der nicht auf eine Feldgruppe verweist.
<Car> <size>big</size> <color>red</color> </Car>erzeugt der folgende ESQL-Code:
SET OutputRoot.XML.Data.Result[] = LIST{InputBody.Car.colour, 'green', 'blue'};folgende Ergebnisse:
<Data> <Result>red</Result> <Result>green</Result> <Result>blue</Result> </Data>Bei einer Liste wird den einzelnen Werten kein expliziter Name zugeordnet. Die Werte werden der Reihe nach Elementen der Nachrichtenfeldgruppe zugeordnet, die als Ziel der Zuordnung angegeben wurde. Normalerweise werden die Listeneinträge in geschweifte Klammern, nicht in runde Klammern eingeschlossen.
<Data> <Field>Keats</Field> <Field>Shelley</Field> <Field>Wordsworth</Field> <Field>Tennyson</Field> <Field>Byron</Field> </Data>erzeugt der folgende ESQL-Code:
-- Copy the entire input message to the output message, -- including the XML message field array as above SET OutputRoot = InputRoot; SET OutputRoot.XML.Data.Field[] = LIST{'Henri','McGough','Patten'};folgende Ausgabe:
<Data> <Field>Henri</Field> <Field>McGough</Field> <Field>Patten</Field> </Data>Die vorherigen Mitglieder der Feldgruppe Data.Field[] wurden gelöscht. Wenn einer bereits vorhandenen Nachrichtenfeldgruppe eine neue Liste mit Werten zugeordnet wird, werden alle Elemente in der vorhandenen Feldgruppe gelöscht, bevor die neuen Elemente zugeordnet werden.