Puede aprovechar el soporte de espacio de nombres para los mensajes que analiza el analizador MRM.
Cuando desee acceder a elementos de un mensaje y los espacios de nombres están habilitados, debe incluir el espacio de nombres cuando se codifica la consulta de ESQL hacia el elemento. Si no lo hace, el intermediario busca el espacio de nombres sin destino. Si el elemento no se encuentra en el espacio de nombres sin destino, el intermediario busca en todos los demás espacios de nombres conocidos (es decir, dentro del conjunto de mensajes difundido). Por razones de rendimiento e integridad, especifique los espacios de nombres siempre que sea pertinente.
La forma más eficaz de hacer referencia a elementos cuando están habilitados los espacios de nombres es definir una constante de espacio de nombres y utilizarla en las sentencias de ESQL adecuadas. Esto hace que el código de ESQL sea mucho más fácil de leer y mantener.
Defina una constante con la sentencia DECLARE NAMESPACE:
DECLARE ns01 NAMESPACE 'http://www.ns01.com' . . SET OutputRoot.MRM.Element1 = InputBody.ns01:Element1;
ns01 se interpreta correctamente como nombre de espacio debido a la forma como se declara.
También puede utilizar una variable CHARACTER para declarar un espacio de nombres:
DECLARE ns02 CHARACTER 'http://www.ns02.com' . . SET OutputRoot.MRM.Element2 = InputBody.{ns02}:Element2;
Si utiliza este método, debe especificar la variable declarada entre llaves para asegurarse de que se interpreta como un espacio de nombres.
Si le preocupa que una variable CHARACTER pueda cambiarse, puede utilizar una declaración CONSTANT CHARACTER:
DECLARE ns03 CONSTANT CHARACTER 'http://www.ns03.com' . . SET OutputRoot.MRM.Element3 = InputBody.{ns03}:Element3;
Puede declarar un espacio de nombres, constante y variable dentro de un módulo o función. No obstante, sólo puede declarar un espacio de nombres o constante en un ámbito de un esquema (es decir, fuera del ámbito del módulo).
El ejemplo de Vídeo proporciona más ejemplos del uso de espacios de nombres.
Los espacios de nombres no están soportados en la versión 2.1, por lo tanto no puede difundir a un intermediario con la versión 2.1 un conjunto de mensajes o un flujo de mensajes que utilice espacios de nombres.
Conceptos relacionados
Flujos de mensajes
ESQL
Diseño de mensajes
Espacios de nombres
Tareas relacionadas
Diseño de un flujo de mensajes
Definición del contenido del flujo de mensajes
Gestión de archivos ESQL
Desarrollo de modelos de mensajes
Referencia relacionada
Nodo Compute
Nodo Database
Nodo Filter
ESQL
Sentencia DECLARE
Sentencia SET
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ac12390_ |