不透明構文解析は、XMLNS ドメインにより提供されるパフォーマンス機能です。
XMLNS 不透明構文解析は、XMLNSC ドメインの不透明構文解析機能により置き換えられています。 メッセージ・フローが XMLNS パーサーだけが提供している機能を必要としているのでない限り、不透明構文解析に XMLNS パーサーを使用しないでください。
メッセージ・フローを設計しており、メッセージ内の特定のエレメントがそのメッセージ・フローによってまったく参照されないことが分かっている場合、そのエレメントは不透明に構文解析されるように指定できます。 これはメッセージの構文解析と書き込みのコストを引き下げ、メッセージ・フロー内の他のパーツのパフォーマンスを向上させる可能性があります。
XML エレメントを不透明として構文解析することを指定するには、PARSE 文節で ESQL CREATE ステートメントを使用して XML 文書を構文解析します。 PARSE 文節の FORMAT 修飾子をストリング定数「XMLNS_OPAQUE」(大/小文字を区別します) に設定し、PARSE 文節の TYPE 修飾子を不透明として構文解析する XML エレメントの名前に設定します。
TYPE 文節は、ネーム・スペースなしエレメント名を指定する (任意の ネーム・スペースに一致させる) か、ネーム・スペース接頭部または完全ネーム・スペース URI を持つ エレメント名を指定する (特定のネーム・スペースに一致させる) ことができます。
XMLNS 不透明エレメントは、ノード・プロパティーからは指定できません。
次の例をご覧ください。
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');