MRM ドメインのメッセージの属性へのアクセス

MRM メッセージが論理ツリーに構文解析される場合、 属性とそこに含まれるデータは、MRM エレメントが作成されるのと同じ方法で、 名前値ペアとして作成されます。 つまり、属性に保持されているデータに問い合わせて更新するためにコーディングする ESQL は、 同様の方法で属性も参照するということです。

Video サンプルの MRM メッセージをご覧ください。 属性 LastName は、Customer メッセージの Name エレメントの子として定義されています。 以下に示すのは、入力 XML メッセージの例です。
<Customer xmlns:addr="http://www.ibm.com/AddressDetails"

xmlns:brw="http://www.ibm.com/BorrowedDetails">
		 <Name LastName="Bloggs">
		 		 <Title>Mr</Title>
		 		 <FirstName>Fred</FirstName>
		 </Name>
		 <addr:Address>
		 		 <HouseNo>13</HouseNo>
		 		 <Street>Oak Street</Street>
		 		 <Town>Southampton</Town>
		 </addr:Address>
             <ID>P</ID>
		 <PassportNo>J123456TT</PassportNo>
		 <brw:Borrowed>
		 		 <VideoTitle>Fast Cars</VideoTitle>
		 		 <DueDate>2003-05-23T01:00:00</DueDate>
		 		 <Cost>3.50</Cost>
		 </brw:Borrowed>
		 <brw:Borrowed>
		 		 <VideoTitle>Cut To The Chase</VideoTitle>
		 		 <DueDate>2003-05-23T01:00:00</DueDate>
		 		 <Cost>3.00</Cost>
		 </brw:Borrowed>
		 <Magazine>0</Magazine>
</Customer>
入力メッセージが構文解析される場合には、 次のセクションのユーザー・トレースに表示されているように、 値は論理ツリーに保管されます。
(0x0100001B):MRM = (
  (0x01000013):Name = (
    (0x0300000B):LastName = 'Bloggs'
    (0x0300000B):Title = 'Mr'
        (0x0300000B):FirstName = 'Fred'
  )
    (0x01000013)http://www.ibm.com/AddressDetails:Address = (
        (0x0300000B):HouseNo = 13
        (0x0300000B):Street = 'Oak Street'
        (0x0300000B):Town = 'Southampton'
  )
    (0x0300000B):ID = 'P'
  (0x0300000B):PassportNo = 'J123456TT'
  (0x01000013)http://www.ibm.com/BorrowedDetails:Borrowed = (
    (0x0300000B):VideoTitle = 'Fast Cars'
    (0x0300000B):DueDate = TIMESTAMP '2003-05-23 00:00:00'
    (0x0300000B):Cost = 3.50
  )
  (0x01000013)http://www.ibm.com/BorrowedDetails:Borrowed = (
    (0x0300000B):VideoTitle = 'Cut To The Chase '
    (0x0300000B):DueDate = TIMESTAMP '2003-05-23 00:00:00'
    (0x0300000B):Cost = 3.00
  )
  (0x0300000B):Magazine = FALSE
次の ESQL は、出力メッセージの LastName 属性の値を変更します。
SET OutputRoot.MRM.Name.LastName = 'Smith';

ESQL をコーディングした際の属性の順序付けを知っていなければなりません。 属性が構文解析される場合、 論理ツリーは、MRM エレメントの子エレメントの前に対応する名前値を挿入します。 前述の例では、子エレメント Title および FirstName は、 属性 LastName の後に論理メッセージ・ツリーで表示されています。 「ブローカー・アプリケーション開発 (Broker Application Development)」パースペクティブの場合、「アウトライン (Outline)」ビューではエレメントの後に属性が表示されます。 ESQL をコーディングして出力メッセージを構成する場合には、 属性の名前値ペアは子エレメントの前に定義する必要があります。

関連概念
メッセージ・フロー
ESQL
メッセージのモデル化

関連タスク
メッセージ・フローの設計
メッセージ・フローの内容の定義
ESQL ファイルの管理
メッセージ・モデルの開発

関連資料
Compute ノード
Database ノード
Filter ノード
ESQL