Jos XML-tiedostossa on elementtejä, joiden laji on kompleksinen, XML-muokkausohjelman xsi:type-tuki antaa valita kompleksisen lajin ja muiden siitä johdettujen kompleksisten lajien välillä.
XML-skeeman määrityksellä voit johtaa lajeja laajennuksen avulla. Jos sinulla esimerkiksi on XML-skeema ja luot sille kompleksisen lajin nimeltä Address. Lisäät lajiin Address joitakin peruselementtejä, kuten streetName ja city.
Tämän jälkeen johdat (laajennuksen avulla) lajista Address kaksi uutta kompleksista lajia - USAddress ja UKAddress Lisäät lajiinUSAddress uuden elementin nimeltä state ja lajiin UKAddress uuden elementin nimeltä postcode.
Tämän jälkeen luot vielä kaksi elementtiä, billTo ja shipTo, joiden laji on Address.
Kun luot XML-ilmentymäasiakirjan billTo- tai Address-kaltaiselle elementille, siihen lisätään automaattisesti xsi:type-määrite. Esimerkki:
<billTo xsi:type="ipo:Address">
xsi:type-määritteellä yksilöidään johdetut kompleksiset lajit (ja ne kompleksiset lajit, joista on johdettu).
XML-muokkausohjelman suunnittelunäkymässä on käytettävissä luettelo, josta voi valita sopivan lajimäärityksen (Address, USAddress tai UKAddress). Sisältömallin ohjattu muokkaus peilaa valitsemaasi lajimääritystä. Jos esimerkiksi valitsetUSAddress, billTo-elementtisi voi sisältää state-elementin, mutta se ei voi sisältääpostcode-elementtiä.
XML-esimerkki "XML-tiedostojen muokkaus ja tarkistus" esittelee xsi:type-tukea.
xsi:typesta on lisätietoja osassa Using Derived Types in Instance Documents asiakirjassa XML Schema Part 0: Primer.
Tarkistuksen semantiikasta xsi:typen käytön yhteydessä on lisätietoja osassa Schema-Related Markup in Documents Being Validated asiakirjassa XML Schema Part 1: Structures