En el nodo Compute, puede crear mensajes XML de salida tomando la información de un mensaje de entrada (que puede estar o no en XML) de una base de datos u otra información o cálculos. Además de las directrices generales que se proporcionan en Manipular el contenido del cuerpo del mensaje, tenga en cuenta los puntos siguientes:
SET OutputRoot.XML.Invoice.Cashier.(XML.Content) = NULL;
genera el XML siguiente:
<Invoice><Cashier/></Invoice>
A continuación, se muestra un ejemplo de XML con formato incorrecto en el que el ESQL crea dos códigos de nivel de superior:
SET OutputRoot.XML.Element1 = 'a'; SET OutputRoot.XML.Element2 = 'b';
Es posible crear un árbol de mensaje que, cuando se analiza, da como resultado que los códigos se escriban como atributos, que los atributos se escriban como códigos y que los códigos no se escriban de ningún modo. Esto puede suceder, por ejemplo, si copia elementos en el mensaje de salida a partir de un mensaje de entrada que no es un mensaje XML.
También es posible crear un mensaje en el que el contenido no está en el orden esperado. Esto se describe detalladamente en Ordenar campos en un mensaje XML.
Si el flujo de mensajes no crea un mensaje de salida correctamente o si el mensaje de salida no tiene el contenido esperado, compruebe el código ESQL que ha escrito para crear el mensaje de salida en el nodo Compute.
Es posible que desee incluir una prueba sobre los valores de datos que inserta en el mensaje de salida o utilizar la función CAST.