Os Grupos de Substituição são um recurso de Esquema
XML que fornece uma maneira de substituir um elemento por outro em uma mensagem
XML.
Um grupo de substituição é uma lista de elementos globais que podem aparecer
no lugar de outro elemento global, chamado elemento principal.
Um grupo de substituição é definido pela definição da propriedade
grupo de substituição em um
elemento global (o elemento membro), a ser apontado em
outro elemento global (o elemento principal). Isso adiciona o elemento membro ao grupo de substituição do elemento principal.
Dica: Se suas mensagens nunca forem processadas como XML, ou se você tiver um
modelo de mensagens simples, utilize um tipo complexo ou um grupo
com a Composição configurada como
Opção, em vez de utilizar os grupos de substituição.
Elementos
- Elementos Principais
- Um elemento principal é simplesmente um elemento que pode ser substituído. Quando uma mensagem é analisada, um de seus elementos membro pode aparecer no lugar do elemento principal,sem causar um erro de validação.
- Elementos Abstratos
- Um elemento abstrato é um elemento principal que deve ser substituído. O atributo 'abstract' no elemento indica isso. Geralmente,
os elementos abstratos possuem outros elementos em seus grupos de substituição
- caso contrário, eles serão de pouco uso. Sempre que um elemento abstrato aparecer em uma definição de mensagem, um membro de seu grupo de substituição deve aparecer no lugar.
Atributos
- O Atributo block em Elementos
- O atributo block de um elemento limita
o conjunto de elementos globais que podem substituir o elemento. O atributo block
pode utilizar qualquer subconjunto dos valores
restrição,
extensão,
substituição ou
todos.
- Se o atributo block contiver a restrição,
um elemento que é baseado em uma restrição do tipo de elemento não pode substituir o
elemento.
- Se o atributo block contiver a
extensão, um elemento que é baseado em
uma extensão do tipo do elemento não poderá substituir o elemento.
- Se o atributo bloco contiver a
substituição, um elemento que é
membro do grupo de substituição do elemento não poderá substituir o elemento.
- Se o atributo
block contiver
todos, todos os limites
acima serão aplicáveis.
- O Atributo final em
Elementos
- O atributo final em um elemento
limita o conjunto de elementos globais que podem ser um membro do grupo de
substituição do elemento. O atributo final
pode assumir qualquer subconjunto dos valores
restrição,
extensão ou
todos.
- Se o atributo final contiver a restrição,
um elemento que é baseado em uma restrição do tipo de elemento não pode
estar no grupo de substituição do elemento.
- Se o atributo final contiver a
extensão, um elemento baseado em uma
extensão do tipo do elemento não poderá estar no grupo de substituição do elemento.
- Se o atributo
final contiver
todos, todos os limites
acima serão aplicáveis.
- O Atributo block em
Tipos Complexos
- O atributo block em um tipo complexo
limita o conjunto de outros tipos que podem substituir esse tipo.
O atributo block pode
utilizar os valores
restrição,
extensão ou
todos. Os significados
desses valores são os mesmos mostrados para o atributo block em um elemento
acima.Um elemento que é um membro de um grupo de substituição pode substituir apenas
o elemento principal, se seu tipo for compatível com o atributo de bloco no tipo do
elemento principal.
- Atributos block e
final padrão
- Um padrão para os atributos
block e
final pode ser definido no
nível do arquivo de definição de mensagens.
Se um padrão para um ou ambos os atributos tiver sido configurado e o atributo
block ou final relevante não tiver sido
configurado no nível de objeto, a configuração padrão será utilizada para esse
objeto. Você pode substituir a configuração padrão no nível do
objeto.