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.
- Elementos Principais
- Um elemento principal é aquele 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
e é indicado pelo atributo 'abstrato' no elemento. Geralmente,
os elementos abstratos possuem outros elementos em seus grupos de substituição,
caso contrário, eles serão de pouco uso. Onde quer que um elemento abstrato
apareça em uma definição de mensagem, um membro de seu grupo de substituição
deve aparecer no lugar.
- 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 restrição,
um elemento baseado em uma restrição do tipo do elemento
não poderá substituir o elemento.
- Se o atributo block
contiver extensão,
um elemento baseado em uma extensão do tipo do elemento
não poderá substituir o elemento.
- Se o atributo block
contiver substituição,
um elemento que for 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 membros
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 restrição,
um elemento baseado em uma restrição do tipo do elemento
não poderá estar no grupo de substituição do elemento.
- Se o atributo final
contiver 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. Um elemento que for membro de um grupo de substituição
poderá substituir apenas o elemento principal, se seu tipo for compatível
com o atributo block 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.