Als een XML-bestand elementen met een complex type bevat, kunt u met xsi:type in de XML-editor tussen het complexe type en alle afgeleide complexe typen kiezen.
Met de XML-schemaspecificatie kunt u typen afleiden per extensie. U hebt bijvoorbeeld een XML-schema en u maakt hier een complex type voor met de naam Address. Vervolgens voegt u een aantal basiselementen toe aan Address zoals streetName en city.
Hierna leidt u (per extensie) twee nieuwe complexe typen af van Address - USAddress en UKAddress U voegt een nieuw element toe aan USAddress met de naam state, en u voegt ook een nieuw element toe aan UKAddress met de naampostcode.
Nadat u dit hebt gedaan, maakt u nog twee elementen - billTo en shipTo - als Address-typen.
Als u een XML-instancedocument maakt voor een element zoals billTo of Address wordt er automatisch een kenmerk xsi:type aan toegevoegd. Voorbeeld:
<billTo xsi:type="ipo:Address">
Het kenmerk xsi:type wordt gebruikt om afgeleide complexe typen te identificeren (en complexe typen die hiervan zijn afgeleid).
In de view Ontwerp van de XML-editor is een lijst beschikbaar waarmee u de juiste typedefinitie (Address, USAddress of UKAddress) kunt selecteren. De typedefinitie die u selecteert, geeft aan welke bewerkingen voor het contentmodel kunnen worden gebruikt. Als u bijvoorbeeld USAddress selecteert, kan uw billTo-element een state-element bevatten, maar kan het geen postcode-element bevatten.
In het XML-voorbeeld "XML-bestanden bewerken en valideren" wordt de xsi:type-ondersteuning gedemonstreerd.
Voor meer informatie over xsi:type, raadpleegt u de sectie Using Derived Types in Instance Documents in XML Schema Part 0: Primer.
Voor meer informatie over validatiesemantiek als xsi:type wordt gebruikt, raadpleegt u de sectie Schema-Related Markup in Documents Being Validated in XML Schema Part 1: Structures