MRM メッセージが論理ツリーに構文解析される場合、属性とそこに含まれるデータは、MRM エレメントが作成されるのと同じ方法で、名前値ペアとして作成されます。つまり、属性に保持されているデータに問い合わせて更新するためにコーディングする ESQL は、同様の方法で属性も参照するということです。
<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
SET OutputRoot.MRM.Name.LastName = 'Smith';
ESQL をコーディングした際の属性の順序付けを知っていなければなりません。 属性が構文解析される場合、論理ツリーは、MRM エレメントの子エレメントの前に対応する名前値を挿入します。 前述の例では、子エレメント Title および FirstName は、属性 LastName の後に論理メッセージ・ツリーで表示されています。 「ブローカー・アプリケーション開発」パースペクティブの場合、「アウトライン」ビューではエレメントの後に属性が表示されます。 ESQL をコーディングして出力メッセージを構成する場合には、属性の名前値ペアは子エレメントの前に定義する必要があります。