Använda xsi:type

Om du har element i din XML-fil vars typ är komplex gör funktionen xsi:type i XML-redigeraren att du kan välja mellan den komplexa typen och eventuella andra komplexa typer som härrör från den.

XML-schemaspecifikationen gör du att du kan härleda typer per tillägg. Du kanske t.ex. har ett XML-schema och skapar en komplex typ för det med namnet Adress. Du lägger sedan till några grundläggande element i Adress, som gatunamn och stad.

Efter det härleder du (via tillägg) två nya komplexa typer från Adress - USAdress och UKAdress. Du lägger till ett nytt element i USAdress med namnet stat, och ett element i UKAdress med namnet postnummer.

När du har gjort det skapar du ytterligare två element - räkningTill och leveransTill - av typen Adress.

När du skapar ett XML-förekomstdokument för ett element som räkningTill eller Adress, läggs ett xsi:type-attribut till i det automatiskt. Exempel:

<räkningTill xsi:type="ipo:Adress">

Attributet xsi:type används till att identifiera härledda komplexa typer (och dessutom komplexa typer som andra typer härletts från).

I designvyn i XML-redigeraren finns en lista tillgänglig, där du kan välja lämplig typdefinition (Adress, USAdress eller UKAdress). Den guidade redigeringen för innehållsmodellen kommer att reflektera den typdefinition du väljer. Om du t.ex. väljer USAdress, kan elementet räkningTill innehålla elementet stat, men inte ett element av typen postnummer.

I XML-exemplet "Redigera och validera XML-filer" demonstreras funktionen för xsi:type.

Mer information om xsi:type finns i avsnittet Using Derived Types in Instance Documents i XML Schema Part 0: Primer.

Mer information om valideringssemantik när xsi:type används finns i avsnittet Schema-Related Markup in Documents Being Validated i XML Schema Part 1: Structures