Un tipo complejo describe la estructura de uno o varios elementos complejos.
Los tipos complejos son una parte esencial de cada modelo de mensaje, porque definen la estructura lógica de los mensajes y elementos del modelo.
Los tipos complejos definen la estructura de los mensajes y elementos del modelo de mensaje. Combinando elementos, atributos, grupos y comodines, se puede modelar casi cualquier estructura de mensaje.
La mayoría de tipos complejos contienen algunos elementos y algunos contienen una gran jerarquía de elementos complejos. Los elementos de un tipo complejo están siempre incluidos en un grupo. Este grupo puede ser local en el tipo complejo, en cuyo caso el Editor de definiciones de mensajes lo oculta de la vista. Este caso es el usual.
De forma alternativa, el grupo que contiene los elementos puede ser un grupo global y este grupo define el contenido de elemento, la composición y la validación de contenido para el tipo complejo.
Si un tipo complejo se deriva de un tipo simple, no se le permite que incluya ningún contenido de elemento.
Los tipos complejos pueden ser globales o locales. Un tipo simple global se puede utilizar como base para más de un elemento complejo. Se le debe proporcionar un nombre exclusivo por el cual se pueda hacer referencia al mismo. Un tipo complejo local se asocia con un elemento individual y no está disponible para volver a utilizarse en otro lugar del modelo de mensaje. Los tipos locales no necesitan ningún nombre y el editor de definiciones mensajes los visualiza como {Local complexType}.
La composición de un tipo complejo describe cómo están organizados los miembros del tipo. Para obtener más información, consulte el apartado Objetos de modelo de mensaje: grupos.
El parámetro Validación de contenido de un tipo complejo especifica con qué grado de rigor se debe validar el contenido del tipo. Para obtener más información, consulte el apartado Objetos de modelo de mensaje: grupos.
Un tipo complejo tiene parámetros que controlan si se pueden derivar otros tipos a partir de él (final) y si otros tipos lo pueden sustituir (block). Para obtener más información, consulte Grupos de sustitución del modelo de mensaje y Objetos de modelo de mensaje: herencia de tipos.