Suporte a Espaço de Nomes de Analisadores XML

Os espaços de nomes nas mensagens XML são suportados pelos analisadores XMLNSC e XMLNS. Os espaços de nomes não são suportados pelo analisador XML.

Analisando

Os analisadores XMLNS e XMLNSC podem analisar qualquer documento XML bem-formado, independentemente de o documento conter, ou não, os espaços de nomes. Se os elementos ou os atributos tiverem espaços de nomes, esses espaços de nomes serão aplicados aos elementos e aos atributos na árvore de mensagens. Os mapeamentos de prefixo de espaço de nomes também são transportados na árvore de mensagens e são utilizados ao serializar a árvore de mensagens de volta para XML.

  • Se um elemento ou um atributo no XML de entrada tiver um espaço de nomes, o nó correspondente da árvore de mensagens também terá esse espaço de nomes.
  • Se um elemento contiver uma declaração de espaço de nomes (um atributo xmlns), um elemento filho que contém seu prefixo e a URI de espaço de nomes será criado na árvore de mensagens.

Enquanto a mensagem está passando por um fluxo de mensagens, os namespaces e os mapeamentos de namespace podem ser modificados usando o ESQL ou qualquer outra tecnologia de transformação oferecida pelo IBM® App Connect Enterprise.

Gravando

Os espaços de nomes e seus prefixos são preservados na árvore de mensagens na análise e são usados quando os analisadores XMLNS e XMLNSC converterem uma árvore de mensagens em um fluxo de bits XML.

  • Ao serializar uma árvore de mensagens, o analisador varre as declarações de espaço de nomes em cada elemento XML. Se alguma for localizada, ela será utilizada para selecionar os prefixos de espaço de nomes no documento de saída.
  • Se um elemento na árvore de mensagens tiver um espaço de nomes, mas não houver uma declaração de espaço de nomes no escopo para sua URI de espaço de nomes, um prefixo de espaço de nomes válido será automaticamente gerado e utilizado no XML de saída. Os prefixos gerados automaticamente possuem o formato NS1, NS2 e assim por diante.
Dica: Se um elemento na árvore de mensagens tiver um elemento filho que seja uma declaração 'padrão de namespace', toda criança desse elemento (se um elemento XML ou um atributo XML, em qualquer profundidade de nidificação) deve ter um espaço de nomes. Se essa regra não for aplicada, o ` IBM App Connect Enterprise ` não poderá gerar uma saída XML correta para a árvore de mensagens.