MRM ドメインのメッセージの混合内容へのアクセス

複合タイプをメッセージ・モデルに定義する場合、その内容が混合するように任意で指定することができます。XML スキーマで混合内容をサポートするこの設定によって、メッセージ内でエレメント間に含まれているデータを操作できます。

次の例をご覧ください。

<MRM>
  <Mess1>
    abc
    <Elem1>def</Elem1>
    ghi
    <Elem2>jkl</Elem2>
    mno
    <Elem3>pqr</Elem3>
  </Mess1>
</MRM>

ストリング abc、ghi、および mno は、特定のエレメントの値を表しません (例えば、エレメント Elem1 の値である def とは異なります)。 こうしたストリングがあることは、混合内容で Mess1 をモデル化する必要があることを示しています。この XML メッセージを、以下のオブジェクトを使用して MRM でモデル化することができます。

メッセージ
メッセージの「名前」プロパティーは、XML タグに合うように Mess1 に設定されます。

「タイプ」 プロパティーは tMess1 に設定されます。

タイプ
複合タイプの「名前」プロパティーは tMess1 に設定されます。

「構成」プロパティーは OrderedSet に設定されます。

複合タイプには、混在内容が存在します。

複合タイプには次のオブジェクトが含まれます。

エレメント
「名前」プロパティーは、XML タグに合うように Elem1 に設定されます。

「タイプ」プロパティーは、単純タイプ xsd:string に設定されます。

エレメント
「名前」プロパティーは、XML タグに合うように Elem2 に設定されます。

「タイプ」プロパティーは、単純タイプ xsd:string に設定されます。

エレメント
「名前」プロパティーは、XML タグに合うように Elem3 に設定されます。

「タイプ」プロパティーは、単純タイプ xsd:string に設定されます。

次の ESQL をコーディングする場合、

SET OutputRoot.MRM.*[1] = InputBody.Elem3;
SET OutputRoot.MRM.Elem1 = InputBody.*[5];
SET OutputRoot.MRM.*[3] = InputBody.Elem2;
SET OutputRoot.MRM.Elem2 = InputBody.*[3];
SET OutputRoot.MRM.*[5] = InputBody.Elem1;
SET OutputRoot.MRM.Elem3 = InputBody*[1];

混合内容は次の出力メッセージに正常にマップされます。

<MRM>
  <Mess1>
    pqr
    <Elem1>mno</Elem1>
    jkl
    <Elem2>ghi</Elem2>
    def
    <Elem3>abc</Elem3>
  </Mess1>
</MRM>
関連概念
メッセージ・フローの概要
ESQL の概要
メッセージのモデル化
関連タスク
メッセージ・フローの設計
メッセージ・フローの内容の定義
ESQL ファイルの管理
メッセージ・モデルの開発
関連資料
Compute ノード
Database ノード
Filter ノード
ESQL 参照
IF ステートメント
SET ステートメント
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ac06030_