Se suas mensagens estiverem em XML, você poderá utilizar o Formato de Ligação XML no
domínio MRM ou em um dos domínios XML dedicados. Três domínios XML são
suportados. Os domínios XMLNSC e XMLNS fornecem suporte a espaço de nomes, mas o
domínio XML não suporta espaços de nomes XML e é fornecido somente para compatibilidade
com o WebSphere MQ Integrator Versão 2.
A escolha do domínio MRM ou de um dos domínios XML dedicados
(XMLNSC ou XMLNS) depende da natureza de suas mensagens XML e da lógica de transformação
que você deseja utilizar. Os recursos de diferenciação de cada domínio são
descritos a seguir.
- O analisador para o domínio MRM é acionado por modelo, utilizando um dicionário de mensagem
gerado a partir de um conjunto de mensagens. Esse dicionário de mensagem permite que o
analisador MRM interprete os dados em uma mensagem XML.
Exemplo:
- O analisador MRM pode validar mensagens XML para o modelo ao analisar
e serializar.
- O modelo indica o tipo de dados reais de um campo na mensagem, em vez de
sempre tratá-lo como uma cadeia de caracteres.
- Os dados binários Base64 podem ser decodificados automaticamente.
- As informações de data e hora podem ser extraídas de um valor de dados, utilizando uma cadeia de formatações especificada.
- Ao criar mensagens de saída, o analisador MRM pode gerar automaticamente
a declaração XML, e outras construções XML, com base nas opções no modelo;
isso simplifica a lógica de transformação.
- Os analisadores para os domínios XMLNSC e XMLNS são programáticos e não
utilizam um modelo durante a análise.
Exemplo:
- Todos os dados em uma mensagem XML são tratados como cadeias de caracteres.
- A validação não é possível durante a análise e serialização.
- A lógica de transformação deve criar explicitamente todas as construções em uma mensagem
de saída.
- A análise e a serialização são mais rápidas do que o domínio MRM.
- O analisador MRM descarta algumas partes de uma mensagem XML durante a análise; por
exemplo, a declaração XML, declarações de espaço de nomes, formatação de espaços em branco,
comentários XML, instruções de processamento XML e DTDs seqüenciais. Se você utilizar esse
analisador, não poderá criar essas construções ao construir uma mensagem de saída.
- O analisador XMLNSC descarta, por padrão, formatação de espaços em branco, comentários XML,
instruções de processamento XML e DTDs seqüenciais. Entretanto, opções
são fornecidas para preservar todas essas construções, exceto DTDs seqüenciais. Você
pode criar todas, exceto DTDs seqüenciais, ao construir uma mensagem de saída.
- O analisador XMLNS preserva todas as partes de um documento XML, incluindo formatação
de espaços em branco. Você pode criar todas as construções XML ao construir uma mensagem
de saída.
- Os analisadores MRM e XMLNSC constroem árvores de mensagens compactas que utilizam menos
elementos de sintaxe que o analisador XMLNS para atributos e elementos simples,
tornando esses analisadores mais apropriados para analisar mensagens XML muito grandes.
- O analisador XMLNS constrói uma árvore de mensagens em conformidade mais exata com o
modelo de dados XML. É provável que você queira utilizar esse analisador se estiver utilizando XPath
para acessar a árvore de mensagens e a posição relativa dos nós pai e filho
for importante, ou se estiver acessando nós de texto diretamente.
Dica: Se você precisar validar o conteúdo e os valores em mensagens XML,
utilize o domínio MRM.
Dica: Se o desempenho for crítico e você não precisar validar
mensagens XML, utilize o domínio XMLNSC.
Dica: Se você precisar preservar a formatação em mensagens XML na saída,
utilize o domínio XMLNSC com a opção para reter o conteúdo misto.
Dica: Se você estiver utilizando o XPath para acessar a árvore de mensagens, e
a conformidade da árvore de mensagens precisar ser a mais exata possível com o
modelo de dados XML, utilize o domínio XMLNS.
Dica: Se você estiver obtendo dados não-XML que foram analisados pelos
formatos CWF ou TDS do domínio MRM e transformando os dados para o XML
equivalente, utilize o domínio MRM.