Función del constructor LIST
El constructor LIST es una función compleja que se utiliza para generar de forma explícita listas de valores que se pueden asignar a campos de un mensaje de salida.
Sintaxis
LIST consta de una secuencia de valores sin nombre. Cuando se asigna a una referencia de campo de matriz (lo que se indica añadiendo como sufijo [] al último elemento de la referencia), cada valor se asigna de forma secuencial a un elemento de la matriz. No se puede asignar LIST a una referencia de campo que no sea de matriz.
Ejemplos
Ejemplo 1
Cuando se proporciona el siguiente texto de entrada de mensaje XML:
<Car>
<size>big</size>
<color>red</color>
</Car> El ESQL siguiente:SET OutputRoot.XMLNS.Data.Result[] = LIST{InputBody.Car.color,
'green',
'blue'};genera los resultados siguientes:<Data>
<Result>red</Result>
<Result>green</Result>
<Result>blue</Result>
</Data>En el caso de LIST, no hay un nombre explícito asociado a cada valor. Los valores se asignan en secuencia a los elementos de la matriz del campo de mensaje especificada como el destino de la asignación. Para encerrar los elementos de LIST se utilizan llaves en lugar de paréntesis.Ejemplo 2
Cuando se proporciona el siguiente texto de mensaje de entrada XML:
<Data>
<Field>Keats</Field>
<Field>Shelley</Field>
<Field>Wordsworth</Field>
<Field>Tennyson</Field>
<Field>Byron</Field>
</Data>El ESQL siguiente:-- Copy the entire input message to the output message,
-- including the XML message field array as above
SET OutputRoot = InputRoot;
SET OutputRoot.XMLNS.Data.Field[] = LIST{'Henri','McGough','Patten'};genera la salida siguiente:<Data>
<Field>Henri</Field>
<Field>McGough</Field>
<Field>Patten</Field>
</Data>Los miembros anteriores de laData.Field[]la matriz se ha descartado. Al asignar una lista de valores nueva a una matriz de campo de mensajes existente se suprimen todos los elementos de la matriz existente antes de que se asignen los nuevos.