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

Analisadores e Domínios XML

É possível usar domínios XML para analisar e gravar mensagens que estão em conformidade com o padrão XML W3C.

O termo Domínios XML se refere a um grupo de três domínios utilizados pelo WebSphere Message Broker para analisar documentos XML.

O ler uma mensagem XML, o analisador que está associado ao domínio constrói uma árvore de mensagens a partir do fluxo do bits de entrada. O fluxo de bits de entrada deve ser um documento XML bem formado e em conformidade com a Especificação W3C XML (versão 1.0 ou 1.1).

Ao gravar uma mensagem, o analisador cria um fluxo de bits XML a partir da árvore de mensagens.

Os domínios têm diferentes características, para obter orientação sobre qual domínio escolher, consulte Qual Analisador XML Você Deve Utilizar?.

Domínio XMLNSC
O domínio XMLNSC é o recomendado para análise de mensagens XML de propósito geral, incluindo as que utilizam espaços de nomes XML. Este analisador é o analisador preferencial pelas seguintes razões:
  • O analisador XMLNSC possui uma arquitetura que resulta em desempenho ultra alto ao analisar todos os tipos de XML.
  • O analisador XMLNSC reduz a quantidade de memória que é utilizada pela árvore de mensagens lógica que é criada a partir da mensagem analisada. O comportamento padrão do analisador é descartar o espaço em branco não significante e o conteúdo misto, comentários, instruções de processamento e DTDs incorporadas; no entanto, os controles são fornecidos para reter o conteúdo misto, comentários e instruções de processamento, se necessário.
  • O analisador XMLNSC pode operar como um analisador orientado por modelo e pode validar as mensagens XML nos Esquemas XML gerados a partir de um conjunto de mensagens para assegurar que suas mensagens XML estejam corretas.
Domínio XMLNS
Se o domínio XMLNSC não atender seus requisitos, utilize o domínio que reconhece espaço de nomes e o analisador alternativos.
domínio XML
O domínio XML não reconhece espaço de nomes. Ele está reprovado e não deve ser usado para desenvolver novos fluxos de mensagens.

O domínio MRM também fornece recursos de análise e gravação XML. Para obter orientações sobre quando você pode utilizar o MRM XML em vez de um dos analisadores XML, consulte Qual Analisador XML Você Deve Utilizar?.

Por padrão, os três analisadores XML são analisadores programáticos e não utilizam o conjunto de mensagens no tempo de execução ao analisar e gravar. No entanto, o analisador XMLNSC pode operar como um analisador orientado por modelo e pode validar a exatidão das mensagens XML em relação aos Esquemas XML gerados a partir de um conjunto de mensagens.

Ao utilizar os analisadores XMLNS ou XML, ou o analisador XMLNSC sem um conjunto de mensagens, um boa prática é criar e utilizar um conjunto de mensagens no WebSphere Message Broker Toolkit; isso simplifica o desenvolvimento de seus aplicativos de fluxo de mensagens, mesmo que o conjunto de mensagens não seja implementado no tempo de execução do intermediário.

Para obter as vantagens de criar um conjunto de mensagens, consulte Por Que Modelar Mensagens?.

Os analisadores XML são analisadores on-demand. Para obter informações adicionais, consulte o Analisando On Demand.

Os tópicos neste centro de informações fornecem um resumo da terminologia de XML, conceitos, e construções de mensagens. Esses aspectos são importantes ao utilizar mensagens XML em seus fluxos de mensagens.
Dica: Para obter informações mais detalhadas sobre o XML, consulte o Web site do W3C (World Wide Web Consortium).

Análise de Exemplo de Mensagem XML

Uma mensagem XML simples pode ter o seguinte formato:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE Envelope
PUBLIC "http://www.ibm.com/dtds" "example.dtd"
[<!ENTITY Example_ID "ST_TimeoutNodes Timeout Request Input Test Message">]
>
<Envelope version="1.0">
	<Header>
		<Example>&Example_ID;</Example>
		<!-- Isso é um comentário  -->
	</Header>
	<Body version="1.0">
		<Element01>Value01</Element01>
		<Element02/>
		<Element03>
			<Repeated>ValueA</Repeated>
			<Repeated>ValueB</Repeated>
		</Element03>
		<Element04><P>This is <B>bold</B> text</P></Element04>
	</Body>
</Envelope>

As seções a seguir mostram a saída que é criada pelo nó do Trace quando esta mensagem de exemplo foi analisada nos analisadores XMLNS e XMLNSC. Elas demonstram as diferenças nas estruturas internas utilizadas para representar os dados conforme são processados pelo intermediário.

Mensagem XML de Exemplo Analisada no Domínio XMLNS

No exemplo a seguir, os elementos de espaço em branco na árvore estão presentes por causa de espaço, tabulação e quebras de linha que formatam o documento XML original; para clareza de apresentação, os caracteres reais no rastreio foram substituídos por 'WhiteSpace'. Espaço em branco em um elemento XML tem significado de negócios e é representado pelo uso do elemento de sintaxe Content. O XmlDecl, o DTD e os comentários são representados no domínio XML utilizando elementos de sintaxe explícitos com tipo de campos específicos.

(0x01000010):XMLNS        = (
    (0x05000018):XML      = (
      (0x06000011): = '1.0'
      (0x06000012): = 'UTF-8'
      (0x06000014): = 'no'
    )
    (0x06000002):         = 'WhiteSpace'
    (0x05000020):Envelope = (
      (0x06000004): = 'http://www.ibm.com/dtds'
      (0x06000008): = 'example.dtd'
      (0x05000021): = (
        (0x05000011):Example_ID = (
          (0x06000041): = 'ST_TimeoutNodes Timeout Request Input Test Message'
        )
      )
    )
    (0x06000002):         = 'WhiteSpace'
    (0x01000000):Envelope       = (
      (0x03000000):version   = '1.0'
      (0x02000000):         = 'WhiteSpace'
      (0x01000000):Header  = (
        (0x02000000):         = 'WhiteSpace'
        (0x01000000):Example = (
          (0x06000020): = 'Example_ID'
          (0x02000000): = 'ST_TimeoutNodes Timeout Request Input Test Message'
          (0x06000021): = 'Example_ID'
        )
        (0x02000000):         = 'WhiteSpace'
        (0x06000018):        = ' Este é um comentário  '
        (0x02000000):         = 'WhiteSpace'
      )
      (0x02000000):         = 'WhiteSpace'
      (0x01000000):Body    = (
        (0x03000000):version   = '1.0'
        (0x02000000):         = 'WhiteSpace'
        (0x01000000):Element01 = (
          (0x02000000): = 'Value01'
        )
        (0x02000000):         = 'WhiteSpace'
        (0x01000000):Element02 = 
        (0x02000000):         = 'WhiteSpace'
        (0x01000000):Element03 = (
          (0x02000000):         = 'WhiteSpace'
          (0x01000000):Repeated = (
            (0x02000000): = 'ValueA'
          )
          (0x02000000):         = 'WhiteSpace'
          (0x01000000):Repeated = (
            (0x02000000): = 'ValueB'
          )
          (0x02000000):         = 'WhiteSpace'
        )
        (0x02000000):         = 'WhiteSpace'
        (0x01000000):Element04 = (
          (0x01000000):P = (
            (0x02000000):  = 'This is '
            (0x01000000):B = (
              (0x02000000): = 'bold'
            )
            (0x02000000):  = ' text'
          )
        )
        (0x02000000):         = 'WhiteSpace'
      )
      (0x02000000):         = 'WhiteSpace'
    )

Mensagem XML de Exemplo Analisada no Domínio XMLNSC

O rastreio a seguir mostra os elementos criados para representar a mesma estrutura XML no analisador XMLNSC compacto em seu modo padrão. Nesse modo, o analisador compacto não retém componentes, instruções de processamento ou texto misto.

O exemplo ilustra a significativa economia no número de elementos de sintaxe que são utilizados para representar o mesmo conteúdo de negócios da mensagem XML de exemplo ao utilizar o analisador compacto.

Não mantendo texto misto, todos os elementos de espaço em branco que não tiverem conteúdo de dados de negócios não estarão mais utilizando nenhuma área de cobertura de tempo de execução na árvore de mensagens do intermediário. Entretanto, o texto misto em Element04.P também é descartado e somente o valor da pasta filho, Element04.P.B, é mantido na árvore; o texto This is e text em P são descartados. Esse tipo de estrutura XML em geral não está associado a formatos de dados de negócios; por isso, o uso do analisador XMLNSC compacto normalmente é desejável. Entretanto, se você desejar este tipo de processamento, não use o analisador XMLNSC ou use-o com Reter Modo de Texto Combinado ativado.

A manipulação da declaração XML também é diferente no analisador XMLNSC. Os atributos de versão, codificação e independentes são mantidos como entidades-filhas de XmlDeclaration, em vez de como elementos com um tipo de campo específico.

(0x01000000):XMLNSC     = (
    (0x01000400):XmlDeclaration = (
      (0x03000100):Version    = '1.0'
      (0x03000100):Encoding   = 'UTF-8'
      (0x03000100):StandAlone = 'no'
    )
    (0x01000000):Envelope       = (
      (0x03000100):version   = '1.0'
      (0x01000000):Header  = (
        (0x03000000):Example = 'ST_TimeoutNodes Timeout Request Input Test Message'
      )
      (0x01000000):Body    = (
        (0x03000100):version   = '1.0'
        (0x03000000):Element01 = 'Value01'
        (0x01000000):Element02 = 
        (0x01000000):Element03 = (
          (0x03000000):Repeated = 'ValueA'
          (0x03000000):Repeated = 'ValueB'
        )
        (0x01000000):Element04 = (
          (0x01000000):P = (
            (0x03000000):B = 'bold'
          )
        )
   )
As amostras a seguir utilizam o analisador XML para processar as mensagens:

Você só pode visualizar informações sobre amostras quando usa o centro de informações que está integrado ao WebSphere Message Broker Toolkit ou o centro de informações on-line. Você só poderá executar amostras quando usar o centro de informações que está integrado ao WebSphere Message Broker Toolkit.

Alguns modelos de mensagens predefinidos são fornecidos com o WebSphere Message Broker Toolkit e podem ser importados usando o assistente Novo Arquivo de Definição de Mensagem e selecionando a opção de mensagem fornecida pela IBM®. Consulte Conjuntos de Mensagens: Mensagens Fornecidas pela IBM que Podem Ser Importadas.

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:29:03


Tópico de ConceitoTópico de Conceito | Versão 8.0.0.5 | ac70600_