Función de constructor LIST

El constructor LIST es una función compleja que se utiliza para generar explícitamente listas de valores que se pueden asignar a campos en un mensaje de salida.

Sintaxis

Una LIST se compone de una secuencia de valores sin nombre. Cuando se asigna a una referencia de campo de matriz (indicado por el sufijo [] en el último elemento de la referencia), se asigna por orden cada valor a un elemento de la matriz. No se puede asignar una LIST a una referencia de campo que no sea de matriz.

Ejemplos

Ejemplo 1

Dado el siguiente cuerpo de entrada de mensaje de XML:
<Car>
   <size>big</size>
   <color>red</color>
</Car> 
El ESQL siguiente:
SET OutputRoot.XML.Data.Result[] = LIST{InputBody.Car.colour,
                                                     'green',
                                                     'blue'};
produce el siguiente resultado:
<Data>
   <Result>red</Result> 
   <Result>green</Result>
   <Result>blue</Result>
</Data>
En el caso de una LIST, no hay ningún nombre explícito asociado a cada valor. Los valores se asignan por orden a los elementos de la matriz de campos de mensaje especificada como destino de la asignación. En lugar de paréntesis, se utilizan llaves para rodear los elementos de LIST.

Ejemplo 2

Dado el siguiente cuerpo 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.XML.Data.Field[] = LIST{'Henri','McGough','Patten'};
Produce la salida siguiente:
<Data>
   <Field>Henri</Field>
   <Field>McGough</Field>
   <Field>Patten</Field>
</Data>
Los miembros anteriores de la matriz Data.Field[] se han descartado. Al asignar una lista nueva de valores a una matriz de campos de mensaje ya existentes, se eliminan todos los elementos de la matriz existente antes de asignar los nuevos.

Conceptos relacionados
ESQL

Tareas relacionadas
Desarrollo de ESQL
Acceso al árbol Environment

Referencia relacionada
Funciones ESQL complejas
Función de constructor ROW
ROW y LIST combinadas
Comparaciones de ROW y LIST