XMLNSC パーサーは、ほとんどのアプリケーションに対して、機能とパフォーマンスの最善の組み合わせを提供します。
マイグレーションの理由
メッセージ・フローが XMLNS または XML ドメインを使用している場合、XML スキーマ妥当性検査の利点を活用するために、メッセージ・フローを XMLNSC にマイグレーションしたいことがあります。 メッセージ・フローが MRM ドメインを使用している場合、標準準拠の妥当性検査を入手したり、プロセッサー使用量を大幅に減らしたりするために、XMLNSC にマイグレーションしたいことがあります。
XMLNS または XML ドメインからのマイグレーション
XMLNSC パーサーは、以下の点で XMLNS パーサーとは異なっています。
- XMLNSC パーサーは、コンパクトなメッセージ・ツリーを作成する。
- 異なったフィールド・タイプ定数を使用する。
- インライン DTD を廃棄する。
たいていの場合、コンパクトなメッセージ・ツリーは ESQL パスや XPath 式には影響を与えません。 通常、単純なメッセージ・ツリー照会は、XMLNSC でも XMLNS または XML ドメインにおけるのと同じ結果になります。
多くの場合、相関名を XMLNS から XMLNSC に変えるだけで十分ですが、次の項目については注意が必要です。
XMLNSC パーサーによって使用されるフィールド・タイプ定数は、XMLNS または XML によって使用されるものとは異なっています。 例えば、XML.Attribute、XML.XmlDecl などのすべてのオカレンスは、それと同等の XMLNSC フィールド・タイプ定数を使用するように変更しなければなりません。
インライン DTD の廃棄は、DTD を処理するメッセージ・フローにのみ影響を与えます。
MRM XML からのマイグレーション
XMLNSC パーサーは、以下の点で MRM XML パーサーとは異なっています。
- XMLNSC パーサーは、メッセージ・ツリー中の XML 構成を識別するために、フィールド・タイプを使用します。 MRM パーサーは、メッセージ・ツリーをメッセージ定義と突き合わせることによって、属性をエレメントから区別します。
- メッセージ・ツリーを作成する場合、XMLNSC パーサーはメッセージ・ツリー中の xmlns 属性を検出して使用することによって、ネーム・スペース接頭部を選択します。
MRM XML パーサーは、メッセージ・セット・プロパティー中の表を使用します。
- MRM パーサーは、メッセージ・ツリーに XML 文書のルート・タグを組み込みません。
MRM から XMLNSC へのメッセージ・フローのマイグレーションの場合、通常はメッセージ・フローの大規模な変更が必要です。 ただし、通常はマイグレーションによってプロセッサー使用量が大幅に削減され、出力 XML をはるかに正確に制御できるようになります。