Acessando o Conteúdo de uma Mensagem no Domínio MRM com o Suporte a Espaço de Nomes Ativado

Utilize os espaços de nomes quando apropriado para mensagens que são analisadas pelo analisador MRM.

Quando desejar acessar elementos de uma mensagem e os espaços de nomes estiverem ativados, será necessário incluir o espaço de nomes quando codificar a referência ESQL ao elemento. Se não fizer isso, o intermediário procura o espaço de nomes no target. Se o elemento não for localizado no espaço de nomes no target, o intermediário procura em todos os outros espaços de nomes conhecidos no dicionário de mensagem (ou seja, no conjunto de mensagens implementado). Por razões de desempenho e integridade, especifique espaços de nomes sempre que aplicáveis.

A forma mais eficiente de referir-se a elementos quando espaços de nomes estão ativados é definir uma constante de espaço de nomes e utilizá-la em instruções ESQL apropriadas. Esta técnica torna a leitura e manutenção de seu código ESQL muito mais fáceis.

Defina uma constante utilizando a instrução DECLARE NAMESPACE:

DECLARE ns01 NAMESPACE 'http://www.ns01.com'
.
.
SET OutputRoot.MRM.Element1 = InputBody.ns01:Element1;

ns01 é interpretado corretamente como um espaço de nomes devido à forma como é declarado.

Também é possível utilizar uma variável CHARACTER para declarar um espaço de nomes:

DECLARE ns02 CHARACTER 'http://www.ns02.com'
.
.
SET OutputRoot.MRM.Element2 = InputBody.{ns02}:Element2;

Se você utilizar este método, deverá colocar a variável declarada entre colchetes para assegurar que ela seja interpretada como um espaço de nomes.

Se você achar que uma variável CHARACTER pode ser alterada, poderá utilizar uma declaração CONSTANT CHARACTER:

DECLARE ns03 CONSTANT CHARACTER 'http://www.ns03.com'
.
.
SET OutputRoot.MRM.Element3 = InputBody.{ns03}:Element3;

Você pode declarar um espaço de nomes, uma constante e uma variável em um módulo ou função. No entanto, você declara apenas um espaço de nomes ou uma constante no escopo do esquema (ou seja, fora de um escopo do módulo).

A amostra a seguir fornece exemplos adicionais da utilização de espaços de nomes: Você pode visualizar amostras apenas quando utilizar o centro de informações integrado ao Message Brokers Toolkit.

Os espaços de nomes não são suportados na Versão 2.1, portanto, não é possível implementar um conjunto de mensagens ou fluxo de mensagens que utiliza espaços de nomes em um intermediário da Versão 2.1.

Conceitos relacionados
Visão Geral de Fluxos de Mensagens
Visão Geral do ESQL
Modelagem de Mensagens
Espaços de Nomes do Modelo de Mensagem
Tarefas relacionadas
Projetando um Fluxo de Mensagens
Gerenciando Arquivos ESQL
Desenvolvendo Modelos de Mensagens
Referências relacionadas
Referência de ESQL
Instrução DECLARE
Instrução SET
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:11:48

ac12390_