自己定義 XML メッセージには、メッセージ内の内容と構造に関する情報が、XML 仕様に従った文書の形式で記載されています。 この定義は、他のどこにも保存されません。 ブローカーが XML メッセージを受け取ると、汎用 XML パーサーを使用してそのメッセージを解釈し、そのメッセージ内に入っている XML 定義に従って、内部メッセージ・ツリー構造が作成されます。
自己定義メッセージは、汎用 XML メッセージとも呼ばれます。 これには、記録される形式がありません。
WebSphere Message Broker で説明される情報には、XML の用語、概念、およびメッセージ構成に関する完全な定義または説明は含まれていません。 これは、ブローカーおよびメッセージ・フローとともに XML メッセージを使用する際に重要となる側面を強調した要約です。
XML について詳しくは、developerWorks Web サイトを参照してください。
この説明で使用される名前エレメント (XmlDecl など) は、WebSphere Message Broker によって提供されており、相関名といいます。 それらは ESQL 内でのシンボルの使用のために使用できます。ESQL は、 メッセージ・フロー内のノード (例えば Filter ノードなど) で実行されるメッセージ内容の処理を定義します。これらは、XML 仕様の一部ではありません。
簡単な XML メッセージの形式を以下に示します。
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd"> <s1>.........</s1>
対応する構文エレメント・ツリー (最上位のエレメントのみ) が以下に示されています。
ツリー内に WhiteSpace エレメントがあるのは、元の XML 文書に改行があるためです。 ビジネス上の意味はありません。 空白文字は、読みやすくする目的で XML で使用されます。タグ間に改行 (上記参照)、ブランク行、またはスペースを含む XML メッセージを処理する場合、これらはすべてメッセージ・ツリー中のエレメントとして表示されます。
XML エレメント内の WhiteSpace (開始および終了タグの間) には機能的な意味があり、Content 構文エレメントを使用して表されます。 詳しくは、XML WhiteSpace および DocTypeWhiteSpaceを参照してください。
XML 名エレメント (Element や XmlDecl など) の相関名は、形式 0x01000000 の定数値と同等です。 メッセージやメッセージの部分がトレースされる際に Trace ノードによって作成される出力中に、これらの定数が使用されます。