メッセージ・モデル内で、 正しいコンテキストで適切なプロパティーのセットを用いて一致するエレメント定義を検出することが可能な場合は、 インスタンス・エレメントは事前定義されます。 そうでない場合、それは自己定義されます。 同様に、対応するメッセージがメッセージ・モデルにない場合は、メッセージ全体は自己定義となります。
このトピックでは、インスタンス・メッセージには現れても、 メッセージ・モデル内のどのエレメントとも一致しないエレメントの処理について述べています。
自己定義エレメントは、メッセージの物理形式が XML または TDS のようなタグ付き形式のときだけ使用できます。 物理形式が固定長 (C または COBOL レコード) または区切り (例えば、コンマ区切り) の場合には、メッセージ・モデルが、すべてのメッセージと構文解析する必要のあるすべてのエレメントを定義していることを確認する必要があります。
メッセージをモデル化しない選択をした場合、またはメッセージ・セットがブローカーにデプロイされていない場合、 すべてのメッセージとエレメントは必然的に自己定義になります。 この状況では、メッセージ定義を使用してエレメントの構文解析と書き込みに影響を及ぼすことは不可能です。 自己定義エレメントは、パーサーと書き込みプログラムのデフォルトの性質に従って構文解析と書き込みが行われます。
自己定義エレメント、および自己定義メッセージ内のすべてのエレメントは、 値制約に対して妥当性検査されず、欠落フィールドにデフォルト値または固定値は割り当てられません。
ただし、エレメントがメッセージ・モデルと一致する可能性がある場合は、 エレメントの構文解析と書き込みは、定義済みの論理および物理形式によって手順が示されます。 これにはさまざまな益があります。 その益のすべてはメッセージ・モデルを経てブローカーに提供された情報からもたらされます。