É possível usar várias estruturas de esquema avançadas em mapas de dados gráficos.
Um grupo de substituição é um recurso do Esquema XML que fornece um meio de substituir um elemento por outro em uma mensagem XML. O elemento que pode ser substituído é chamado elemento principal e o grupo de substituição é a lista de elementos que pode ser utilizada em seu local.
O elemento principal e as substituições mapeadas são mostrados por padrão no editor de Mapeamento de Dados Gráficos. As substituições mapeadas são listadas abaixo do elemento principal. Crie os mapeamentos para os membros dos grupos de substituição, ou a partir deles, da mesma maneira que faria com outros elementos.
Um mapeamento executado para ou a partir de um curinga resulta em uma chamada de submapa. Especifica a substituição curinga quando você escolher o parâmetro de uma chamada de submapa.
Um elemento ou atributo curinga pode ser instanciado apenas com outro elemento ou atributo. O editor de Mapeamento de Dados Gráficos permite apenas um elemento ou atributo global como uma substituição curinga.
Para obter um elemento de um determinado tipo, o tipo base e os tipos derivados mapeados são mostrados por padrão no editor de Mapeamento de Dados Gráficos. Todos os atributos e elementos dos tipos base e derivados são exibidos.
Crie os mapeamentos para um tipo derivado e seu conteúdo, ou a partir deles, da mesma maneira que faria para qualquer tipo ou conteúdo de tipo. Ao mapear um elemento de tipo derivado, o editor de Mapeamento de Dados Gráficos gera o código ESQL com o atributo xsi:type adequado.
Um tipo de lista é uma forma de processamento de um valor simples de repetição. A notação é mais compacta do que a notação para um elemento de repetição e fornece uma maneira de ter os atributos de vários valores.
Mapeie os atributos do tipo de lista ou os elementos da mesma maneira que mapearia qualquer outro atributo ou elemento de tipo simples. Mapear entre dois elementos de tipo de lista é o mesmo que mapear entre dois quaisquer elementos de tipo simples.
Um tipo de união é o mesmo que uma união de dois ou mais outros tipos simples e permite que um valor esteja de acordo com qualquer um dos vários tipos simples diferentes.
<xsd:simpleType name="zipUnion">
<xsd:union memberTypes="USState listOfMyIntType"/>
</xsd:simpleType>
<xsd:element name=zip type=zipUnion/>