ネーム・スペースのサポートを使用できる MRM ドメイン内のメッセージ内容へのアクセス

MRM パーサーによって解析されるメッセージに適している場合は、ネーム・スペースを使用します。

メッセージのエレメントにアクセスしたいとき、ネーム・スペースが使用可能であれば、エレメントへの ESQL 参照をコーディングする際に、ネーム・スペースを組み込む必要があります。 そうしないと、ブローカーは no target ネーム・スペースを検索します。 no target ネーム・スペースでエレメントが見つからないと、ブローカーはメッセージ・ディクショナリー (つまり、デプロイされたメッセージ・セット) 内の他のすべての既知のネーム・スペースを検索します。 パフォーマンスおよび保全性の理由で、適用可能な場合はどこでもネーム・スペースを指定してください。

ネーム・スペースが使用可能であるときにエレメントを参照する最も効率のよい方法は、ネーム・スペース定数を定義し、これを適切な ESQL ステートメントで使用することです。 この手法により、ESQL コードがより読み取りやすく、管理しやすくなります。

DECLARE NAMESPACE ステートメントを使用して定数を次のように定義することができます。

DECLARE ns01 NAMESPACE 'http://www.ns01.com'
.
.
SET OutputRoot.MRM.Element1 = InputBody.ns01:Element1;

ns01 は、宣言される方法のために、ネーム・スペースとして正しく解釈されます。

また、CHARACTER 変数を使ってネーム・スペースを宣言することもできます。

DECLARE ns02 CHARACTER 'http://www.ns02.com'
.
.
SET OutputRoot.MRM.Element2 = InputBody.{ns02}:Element2;

このメソッドを使用する場合、宣言される変数を中括弧で囲んで、確実にネーム・スペースとして解釈されるようにすることが必要です。

CHARACTER 変数が変更されることが考えられる場合、CONSTANT CHARACTER 宣言を使用することができます。

DECLARE ns03 CONSTANT CHARACTER 'http://www.ns03.com'
.
.
SET OutputRoot.MRM.Element3 = InputBody.{ns03}:Element3;

モジュールまたは関数内で、ネーム・スペース、定数、および変数を宣言できます。 しかし、スキーマ有効範囲 (つまり、モジュール有効範囲の外部) では、ネーム・スペースまたは定数だけを宣言できます。

以下のサンプルは、ネーム・スペースの使用のより詳細な例を提供します。 サンプルは、Message Brokers Toolkit と統合されているインフォメーション・センターを使用する場合にのみ表示できます。

ネーム・スペースはバージョン 2.1 ではサポートされていないため、 ネーム・スペースを利用するメッセージ・セットまたはメッセージ・フローをバージョン 2.1 ブローカーへデプロイすることはできません。

関連概念
メッセージ・フローの概要
ESQL の概要
メッセージのモデル化
メッセージ・モデルのネーム・スペース
関連タスク
メッセージ・フローの設計
ESQL ファイルの管理
メッセージ・モデルの開発
関連資料
ESQL 参照
DECLARE ステートメント
SET ステートメント
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:42:51

ac12390_