WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

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

Use namespaces onde apropriado para mensagens analisadas pelo analisador DFDL.

É possível criar um arquivo de esquema DFDL que tenha um namespace de destino. Todas as mensagens definidas nesse esquema DFDL pertencem a esse namespace. Quando o analisador DFDL analisa uma das mensagens, o namespace é incluído nos elementos que são criados na árvore de mensagens lógicas. Você deve incluir o namespace ao codificar a referência ESQL para o elemento. Se você não incluir o namespace, o broker procurará o namespace sem destino. Se o elemento não for localizado no namespace sem destino, o broker procurará em todos os outros namespaces conhecidos no arquivo de esquema do modelo de mensagem. Por razões de desempenho e integridade, especifique espaços de nomes sempre que aplicáveis.

A maneira mais eficiente de consultar elementos quando os namespaces estão ativados é definir uma constante de namespace e utilizá-la nas 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.DFDL.ns01:MyMessage.ns01:Element1 = InputBody.ns01:MyMessage.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.DFDL.{ns02}:MyMessage.{ns02}:Element1 = InputBody.{ns02}:MyMessage.{ns02}:Element1;

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.DFDL.{ns03}:MyMessage.{ns03}:Element1 = InputBody.{ns03}:MyMessage.{ns03}:Element1; 

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).

Para obter mais informações sobre como usar namespaces com DFDL, consulte Namespaces na Especificação DFDL v1.0.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:31:05


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | bc40794_