メッセージが XML ならば、MRM ドメインでの XML ワイヤー形式または XML 専門ドメインの 1 つを使用できます。
3 つの XML ドメインがサポートされています。XMLNSC ドメインと XMLNS ドメインではネーム・スペース・サポートが提供されていますが、XML ドメインでは XML ネーム・スペースはサポートされておらず、WebSphere MQ Integrator バージョン 2 との互換性だけが提供されています。
MRM ドメインを選択するか、XML 専用ドメイン (XMLNSC または XMLNS) を選択するかは、使用する XML メッセージおよび変換ロジックの性質に依存します。それぞれのドメインを差別化している機能については、以下に示します。
- MRM ドメインのパーサーはモデル駆動型で、メッセージ・セットから生成されるメッセージ・ディクショナリーを使用します。このメッセージ・ディクショナリーによって、MRM パーサーは XML メッセージ内のデータを解釈できます。
以下に例を示します。
- MRM パーサーは、構文解析およびシリアライズを行う際に XML メッセージをモデルに照らして妥当性検査することができます。
- モデルは、メッセージ内のフィールドのデータ・タイプを常に文字ストリングとして扱うのではなく、その真のデータ・タイプを示します。
- Base64 バイナリー・データは自動的にデコードすることができます。
- 日時情報は、指定された書式制御ストリングを使用したデータ値から抽出できます。
- 出力メッセージを作成する際、MRM パーサーはモデル内のオプションに基づいて、XML 宣言および他の XML 構成を自動的に生成できます。これにより変換ロジックが簡単になります。
- XMLNSC ドメインと XMLNS ドメインのパーサーはプログラマチックで、構文解析時にモデルは使用しません。
以下に例を示します。
- XML メッセージ内のすべてのデータは、文字ストリングとして扱われます。
- 構文解析およびシリアライズの際に妥当性検査は実行できません。
- 変換ロジックでは、出力メッセージにすべての構成を明示的に作成する必要があります。
- MRM ドメインを使用する場合に比べ、構文解析とシリアライズが高速です。
- MRM パーサーは、構文解析時に XML メッセージの一部を破棄します。例えば、XML 宣言、ネーム・スペース宣言、空白のフォーマット設定、XML コメント、XML 処理命令、およびインライン DTD などです。このパーサーを使用する場合、出力メッセージを作成する際にはこうした構成を作成できません。
- デフォルトでは、XMLNSC パーサーは空白のフォーマット設定、XML コメント、XML 処理命令、およびインライン DTD を破棄します。しかし、インライン DTD を除いてこうした構成すべてを保持するためのオプションが備えられています。出力メッセージの構成時に、インライン DTD 以外のすべての構成を作成できます。
- XMLNS パーサーは、空白のフォーマット設定を含め、XML 文書全部を保持します。出力メッセージの構成時に、すべての XML 構成を作成できます。
- MRM パーサーと XMLNSC パーサーはコンパクトなメッセージ・ツリーを作成します。
このメッセージ・ツリーでは、XMLNS パーサーに比べて属性や単純エレメントに関して使用される構文エレメントが少ないため、これらのパーサーは、大規模な XML メッセージの構文解析にいっそう適しています。
- XMLNS パーサーは、XML データ・モデルにより厳密に準拠しているメッセージ・ツリーを作成します。
メッセージ・ツリーにアクセスするために XPath を使用していて、親子のノードの相対位置が重要な場合、またはテキスト・ノードに直接アクセスしている場合には、このパーサーを使用できるかもしれません。
ヒント: XML メッセージ内の内容と値を妥当性検査する必要がある場合、MRM ドメインを使用します。
ヒント: パフォーマンスが重要な場合で、XML メッセージの妥当性検査を行う必要がなければ、XMLNSC ドメインを使用してください。
ヒント: 出力で XML メッセージのフォーマット設定を保持する必要がある場合、混合内容を保存するオプションを指定して XMLNSC ドメインを用います。
ヒント: XPath を使用してメッセージ・ツリーにアクセスし、そのメッセージ・ツリーを可能な限り XML データ・モデルに準拠したものとする必要がある場合には、XMLNS ドメインを使用します。
ヒント: MRM ドメインの CWF 形式または TDS 形式で構文解析された非 XML データを取得して、そのデータを同等の XML に変換する場合は、MRM ドメインを使用してください。