複合タイプは、1 つ以上の複合エレメントの構造を記述します。
複合タイプは、すべてのメッセージ・モデルの重要な部分といえます。なぜなら、それはモデル内のメッセージとエレメントの論理構造を定義するからです。
複合タイプは、メッセージ・モデル内のメッセージおよびエレメントの構造を定義します。 エレメント、属性、グループ、およびワイルドカードを組み合わせることにより、ほとんどすべてのメッセージ構造をモデル化できます。
ほとんどの複合タイプは、いくつかのエレメントを含んでおり、 いくつかの複合タイプは、複合エレメントの大きな階層を含んでいます。 複合タイプ内のエレメントは、常にグループ内に含まれています。 このグループは、複合タイプに対してローカルにすることができ、 その場合にはメッセージ定義エディターのビューでは表示されません。 これが通常の場合です。
別の場合として、エレメントを含むグループはグローバル・グループであることができます。このグループはエレメントの内容、構成、および複合タイプの内容の妥当性検査を定義します。
複合タイプが単純タイプから派生した場合、エレメントの内容を含むことはできません。
複合タイプは、グローバルまたはローカルとなります。 グローバル複合タイプは、複数の複合エレメントの基礎として使用できます。 これには、参照できる固有の名前が与えられなければなりません。 ローカル複合タイプは、単一の複合エレメントに関連しており、メッセージ・モデル内の他の場所で再利用するために利用できません。 ローカル・タイプには名前はありません。それらはメッセージ定義エディターによって {Local complexType} として表示されます。
複合タイプの「内容の妥当性検査」パラメーターは、 そのタイプの内容を妥当性検査する精度を指定します。 詳しくは、メッセージ・モデル・オブジェクト: グループを参照してください。
複合タイプには、そこから他のタイプを派生させることができるかどうか (final)、および他のタイプがそれを置換できるかどうか (block) を制御するパラメーターがあります。 詳しくは、メッセージ・モデルの置換グループおよびメッセージ・モデル・オブジェクト: タイプ継承を参照してください。