LIST コンストラクター複合関数を使用すると、出力メッセージのフィールドに代入される値のリストを明示的に生成することができます。
LIST は、一連の名前なしの値から成ります。それが配列フィールド参照 (参照の最後のエレメントに付加される [] によって示される) に代入されると、それぞれの値が配列のエレメントに対して順に代入されます。非配列フィールド参照に LIST を代入することはできません。
<Car> <size>big</size> <color>red</color> </Car>この場合、次の ESQL は、
SET OutputRoot.XML.Data.Result[] = LIST{InputBody.Car.colour, 'green', 'blue'};次の結果になります。
<Data> <Result>red</Result> <Result>green</Result> <Result>blue</Result> </Data>LIST の場合、各値ごとに対応する明示的な名前はありません。値は、代入先として指定されたメッセージ・フィールド配列のエレメントに対して順に代入されます。LIST 項目を囲むために、小括弧ではなく中括弧を使用します。
<Data> <Field>Keats</Field> <Field>Shelley</Field> <Field>Wordsworth</Field> <Field>Tennyson</Field> <Field>Byron</Field> </Data>この場合、次の ESQL は、
-- 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'};次の出力結果になります。
<Data> <Field>Henri</Field> <Field>McGough</Field> <Field>Patten</Field> </Data>Data.Field[] 配列の以前のメンバーは廃棄されています。既存のメッセージ・フィールド配列に値の新規リストを代入すると、まず最初に既存の配列のエレメントすべてが除去され、その後で新しいエレメントが代入されます。