Um tipo complexo descreve a estrutura de um ou mais elementos complexos.
Os tipos complexos são uma parte essencial de cada modelo de mensagem porque definem a estrutura lógica das mensagens e elementos no modelo.
Os tipos complexos definem a estrutura das mensagens e elementos no modelo de mensagem. Combinando elementos, atributos, grupos e curingas, é possível modelar quase toda a estrutura da mensagem.
A maioria dos tipos complexos contêm alguns elementos e alguns contêm uma grande hierarquia de elementos complexos. Os elementos em um tipo complexo estão sempre contidos em um grupo. Esse grupo pode ser local para o tipo complexo e, neste caso, o Editor de Definições de Mensagem oculta-o desta visualização.
Como alternativa, o grupo que contém os elementos podem ser um grupo global e esse grupo define o conteúdo de elemento, a composição e a validação de conteúdo para o tipo complexo.
Se um tipo complexo for derivado de um tipo simples, ele não poderá conter nenhum conteúdo do elemento.
Os tipos complexos podem ser globais ou locais. Um tipo complexo global pode ser utilizado como base para mais de um elemento complexo. Ele deve ter um nome exclusivo pelo qual pode ser referido. Um tipo complexo local é associado a um único elemento complexo e não está disponível para reutilização em outro lugar no modelo de mensagem. Os tipos locais não possuem um nome e, às vezes são referidos como tipos anônimos.
A composição de um tipo complexo descreve como os membros do tipo são organizados. Para obter informações adicionais, consulte Objetos do Modelo de Mensagem: Grupos.
Um tipo complexo possui parâmetros que controlam se outros tipos podem ser derivados dele (final) e se outros tipos podem substituí-lo (block). Para obter informações adicionais, consulte o Grupos de Substituição no Modelo de Mensagem e o Objetos do Modelo de Mensagem: Herança de Tipo.