メッセージ・モデル内で、パーサーが正しいコンテキストで適切なプロパティーのセットを用いて一致するエレメント定義を検出することが可能な場合は、インスタンス・エレメントは事前定義されます。 そうでない場合、それは自己定義されます。 同様に、対応するメッセージがメッセージ・モデルにない場合は、メッセージ全体は自己定義となります。
自己定義エレメントは、メッセージの形式が XML または JSON のような自己記述型のときだけ使用できます。 テキスト形式またはバイナリー形式 (例えば、コンマ区切り) の場合には、メッセージ・モデルが、すべてのメッセージと構文解析する必要のあるすべてのエレメントを定義していることを確認する必要があります。
メッセージをモデル化しないことを選択した場合、またはモデルがあるもののそのモデルをブローカーにデプロイしないことを選択した場合、すべてのメッセージとエレメントは自己定義になります。 この状況では、メッセージ定義を使用してエレメントの構文解析と書き込みに影響を及ぼすことは不可能です。自己定義エレメントは、パーサーと書き込みプログラムのデフォルトの性質に従って構文解析と書き込みが行われます。
自己定義エレメント、および自己定義メッセージ内のすべてのエレメントは、値制約に対して妥当性検査されず、欠落フィールドにデフォルト値や固定値は割り当てられず、すべてのデータは、パーサーが信頼できる方法でタイプを推定できる場合を除き、ストリング・タイプであると想定されます。