Utilizando xsi:type

Se você tiver elementos em seu arquivo XML cujo tipo seja um tipo complexo, o suporte a xsi:type no editor XML permitirá escolher entre o tipo complexo e quaisquer outros tipos complexos derivados dele.

A especificação do Esquema XML permite derivar tipos por extensão. Por exemplo, você tem um esquema XML e cria um tipo complexo para ele chamado Address. É possível incluir então alguns elementos básicos em Address, como streetName e city.

Depois disso, você deriva (por extensão) dois novos tipos complexos de Address - USAddress e UKAddress. Você inclui um novo elemento em USAddress denominado state e também um novo elemento em UKAddress denominado postcode.

Depois disso, você cria mais dois elementos - billTo e shipTo - como os tipos Address.

Quando você criar um documento da instância XML para um elemento como billTo ou Address, um atributo xsi:type será automaticamente incluído nele. Por exemplo:

<billTo xsi:type="ipo:Address">

O atributo xsi:type é utilizado para identificar tipos complexos derivados (bem como tipos complexos que foram derivados de).

Na visualização Design do editor XML, estará disponível uma lista, permitindo selecionar a definição de tipo apropriada (Address, USAddress ou UKAddress). A edição orientada para o modelo de conteúdo refletirá a definição de tipo escolhida. Por exemplo, se você selecionar USAddress , seu elemento billTo poderá conter um elemento state, mas não poderá conter um elemento postcode.

O exemplo XML "Editando e Validando Arquivos XML" demonstra o suporte a xsi:type.

Para obter informações adicionais sobre xsi:type, consulte a seção Using Derived Types in Instance Documents em XML Schema Part 0: Primer.

Para obter informações adicionais sobre a validação de semântica quando xsi:type é utilizado, consulte a seção Schema-Related Markup in Documents Being Validated em XML Schema Part 1: Structures