Objetos do Modelo de Mensagem: Herança de Tipo

A linguagem do Esquema XML permite que uma definição de tipo seja baseada em outra definição de tipo. Dessa forma, uma hierarquia de tipos pode ser construída. Este tópico descreve os conceitos de herança de tipo e realça algumas questões importantes relacionadas à substituição.

Uma discussão completa da herança de tipo de Esquema XML pode ser localizada no Web site W3C (World Wide Web Consortium) ou nos vários manuais sobre o esquema XML.

Restrição e Extensão

Um tipo é uma restrição de seu tipo base se os elementos do tipo derivado tiverem um intervalo menor de valores válidos (ou membros de tipos válidos) do que os elementos do tipo base.

Um tipo é uma extensão de seu tipo base se os elementos do tipo derivado tiverem um intervalo maior de valores válidos (ou membros de tipos válidos) do que os elementos do tipo base.

Regras especiais se aplicam à derivação de tipos simples. Um tipo simples não pode estender outro tipo simples. Isso assegura que as restrições impostas por um tipo simples não podem ser removidas derivando outro tipo simples dele.

No entanto, um tipo complexo pode estender um tipo simples. Isso não afeta o intervalo de valores válidos do tipo simples, mas permite que sejam adicionados atributos. O resultado da extensão de um tipo simples é sempre um tipo complexo contendo zero ou mais atributos.

Controlando a Herança de Tipo

O atributo final em um tipo complexo pode ter três valores, com os seguintes efeitos:

Herança e Substituição de Tipo

O Esquema XML fornece dois diferentes mecanismos de substituição e ambos utilizam as informações de herança de tipo para aceitar ou rejeitar substituições.

A substituição de elemento é controlada por grupos de substituição e a substituição de elemento pode ser bloqueada ou ter permissão para extensão e restrição pelas definições no próprio elemento ou no tipo do elemento.

A Substituição de Tipo permite que o tipo do elemento seja definido dentro do documento da instância, utilizando o atributo xsi:type no elemento para que o tipo real do elemento não seja conhecido até que o elemento tenha sido parcialmente analisado. Este mecanismo também pode ser bloqueado ou permitido, com base no método de derivação dos tipos envolvidos.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ad10430_