A análise opaca é um recurso de desempenho que é oferecido pelo domínio XMLNS.
A análise opaca XMLNS foi substituída pelo recurso de análise opaca do domínio XMLNSC. Não utilize o analisador XMLNS para análise opaca a menos que o seu fluxo de mensagens necessite de recursos que sejam oferecidos apenas pelo analisador XMLNS.
Se você estiver projetando um fluxo de mensagens e souber que um determinado elemento em uma mensagem nunca foi referenciado pelo fluxo de mensagens, poderá especificar que esse elemento deve ser analisado de maneira opaca. Isso reduz os custos de análise e gravação da mensagem e pode aprimorar o desempenho em outras partes do fluxo de mensagens.
Para especificar que um elemento XML deva ser analisado de maneira opaca, utilize uma instrução ESQL CREATE com uma cláusula PARSE para analisar o documento XML. Configure o qualificador FORMAT da cláusula PARSE para a cadeia constante com cadeia 'XMLNS_OPAQUE' que faz distinção entre maiúsculas e minúsculas e configure o qualificador TYPE da cláusula PARSE para o nome do elemento XML que deve ser analisado de uma maneira opaca.
A cláusula TYPE pode especificar o nome de elemento sem espaço de nomes (para corresponder a qualquer espaço de nomes) ou com um prefixo de espaço de nomes ou URI de espaço de nomes completo (para corresponder a um espaço de nomes específico).
Os elementos opacos XMLNS não podem ser especificados através das propriedades do nó.
Considere o seguinte exemplo:
DECLARE soap NAMESPACE 'http://schemas.xmlsoap.org/soap/envelope/';
DECLARE BitStream BLOB ASBITSTREAM(InputRoot.XMLNS
ENCODING InputRoot.Properties.Encoding
CCSID InputRoot.Properties.CodedCharSetId);
--No Namespace
CREATE LASTCHILD OF OutputRoot
DOMAIN('XMLNS')
PARSE (BitStream
ENCODING InputRoot.Properties.Encoding
CCSID InputRoot.Properties.CodedCharSetId
FORMAT 'XMLNS_OPAQUE'
TYPE 'Body');
--Namespace Prefix
CREATE LASTCHILD OF OutputRoot
DOMAIN('XMLNS')
PARSE (BitStream
ENCODING InputRoot.Properties.Encoding
CCSID InputRoot.Properties.CodedCharSetId
FORMAT 'XMLNS_OPAQUE'
TYPE 'soap:Body');
--Namespace URI
CREATE LASTCHILD OF OutputRoot
DOMAIN('XMLNS')
PARSE (BitStream
ENCODING InputRoot.Properties.Encoding
CCSID InputRoot.Properties.CodedCharSetId
FORMAT 'XMLNS_OPAQUE'
TYPE '{http://schemas.xmlsoap.org/soap/envelope/}:Body');