Hvis der er elementer i XML-filen, hvis type er kompleks, kan du vha. xsi:type-understøttelsen i XML-editoren vælge mellem den komplekse type og andre komplekse typer afledt af den.
XML-skemaspecifikationen gør det muligt at aflede typer vha. udvidelse. Eksempel: Du har et XML-skema og opretter en kompleks type til den med navnet Address. Herefter tilføjer du nogle basiselementer til Address, f.eks. streetName og city.
Nu afleder du (vha. udvidelse) to nye komplekse typer fra Address - USAddress og UKAddress. Du tilføjer et nyt element til USAddress med navnet state, og også et nyt element til UKAddress med navnetpostcode.
Når du har gjort det, opretter du to yderligere elementer - billTo ogshipTo - som Address-typer.
Når du opretter et XML-forekomstdokument til et element som f.eks. billTo eller Address, tilføjes der automatisk en xsi:type-attribut til det. Eksempel:
<billTo xsi:type="ipo:Address">
Attributten xsi:type bruges til at identificere afledte komplekse typer (samt komplekse typer, der er afledt fra).
I oversigten Design i XML-editoren vises der en liste, hvor du kan vælge den relevante typedefinition (Address, USAddress eller UKAddress). Redigeringsvejledningen til indholdsmodellen afspejler den typedefinition, du vælger. Hvis du f.eks. vælger USAddress , kan elementet billTo indeholde et state-element, men det kan ikke indeholde et postcode-element.
XML-eksemplet "Redigér og validér XML-filer" viser xsi:type-understøttelsen.
Der er flere oplysninger om xsi:type i afsnittet Using Derived Types in Instance Documents iXML Schema Part 0: Primer.
Der er flere oplysninger om valideringssemantik ved brug af xsi:type i afsnittet Schema-Related Markup in Documents Being Validated i XML Schema Part 1: Structures