XML_Reservation 入力メッセージは、XML_Reservation メッセージ・フローを実行して、データベースに記録される予約を作成するために用意されているものです。 各メッセージで予約できるのはいずれか 1 便の座席だけなので、XML_Reservation 入力メッセージは 2 個あります。 最初のメッセージは、ある便について 4 人分の座席を要求します。2 番目のメッセージは、それら 4 人の乗客のうち 1 人について、別の便の座席を 1 つ要求します。
2 つの XML_Reservation 入力メッセージの論理構造は同一であり、その内容が違うだけです。
入力メッセージ 1 (reservation1.enqueue) に含まれるデータは、次のとおりです。
<Reservation> <FlightDetails> <Number>CA937</Number> <Date>20030525</Date> </FlightDetails> <ListOfPassengers> <PassengerDetails> <FirstName>Mary</FirstName> <LastName>Smith</LastName> <Class>F</Class> </PassengerDetails> <PassengerDetails> <FirstName>Diane</FirstName> <LastName>Rose</LastName> <Class>Y</Class> </PassengerDetails> <PassengerDetails> <FirstName>Debra</FirstName> <LastName>Wiess</LastName> <Class>Y</Class> </PassengerDetails> <PassengerDetails> <FirstName>Atila</FirstName> <LastName>Wiess</LastName> <Class>F</Class> </PassengerDetails> </ListOfPassengers> <Request>M</Request> </Reservation>
入力メッセージ 2 (reservation2.enqueue) に含まれるデータは、次のとおりです。
<Reservation> <FlightDetails> <Number>BA039</Number> <Date>20030525</Date> </FlightDetails> <ListOfPassengers> <PassengerDetails> <FirstName>Mary</FirstName> <LastName>Smith</LastName> <Class>F</Class> </PassengerDetails> </ListOfPassengers> <Request>S</Request> </Reservation>
これらの入力メッセージを、下の図中のモデルと比較してください。 階層構造の中には PassengerDetails エレメント (フィールド) が 1 つしか出てきませんが、メッセージ中に PassengerDetails フィールドを含めることのできる回数は、予約を要求している人の数にのみ依存します。 メッセージ構造の文章による説明を読むこともできます。
XML_Reservation メッセージ・フローの作成の ESQL を参照してください。メッセージ・フローがどのようにツリー内の特定のエレメントにメッセージをナビゲートしているかを確認してください。 次に例を示します。
Body.Reservation.FlightDetails.Date
および
Body.Reservation.ListOfPassengers.PassengerDetails[1]
詳しくは、WebSphere Message Broker 資料で XML メッセージについて調べてください。 さらに、XML_Reservation メッセージ・フローもご覧ください。