Wenn Ihre XML-Datei Elemente mit komplexem Typ enthält, ermöglicht Ihnen die "xsi:type"-Unterstützung im XML-Editor, zwischen dem komplexen Typ und allen anderen daraus abgeleiteten komplexen Typen auszuwählen.
Die XML-Schemaspezifikation ermöglicht das Ableiten von Typen durch Erweiterung. Beispiel: Sie verfügen über ein XML-Schema und erstellen dafür einen komplexen Typ mit der Bezeichnung Address. Sie fügen dann einige Basiselemente zu Address hinzu, z. B. streetName und city.
Anschließend leiten Sie (durch Erweiterung) zwei neue komplexe Typen von Address ab - USAddress und UKAddress. Sie fügen ein neues Element zu USAddress hinzu: state. Außerdem fügen Sie ein neues Element zu UKAddress hinzu: postcode.
Sie erstellen nun zwei weitere Elemente - billTo und shipTo - als Address-Typen.
Wenn Sie ein XML-Instanzdokument für ein Element wie billTo oder Address erstellen, wird ein Attribut "xsi:type" automatisch hinzugefügt. Beispiel:
<billTo xsi:type="ipo:Address">
Das Attribut "xsi:type" wird dazu verwendet, abgeleitete komplexe Typen zu identifizieren (ebenso wie komplexe Typen, von denen abgeleitet wurde).
In der Entwurfssicht des XML-Editors steht eine Liste zur Verfügung, in der Sie die entsprechende Typdefinition auswählen können (Address, USAddress oder UKAddress). Die interaktive Bearbeitung für das Inhaltsmodell reflektiert die von Ihnen ausgewählte Typdefinition. Wenn Sie beispielsweise USAddress auswählen, kann das Element billTo ein Element state enthalten, jedoch kein Element postcode.
Das XML-Beispiel zum Bearbeiten und Prüfen von XML-Dateien veranschaulicht die xsi:type-Unterstützung.
Weitere Informationen zu "xsi:type" finden Sie im Abschnitt zur Verwendung abgeleiteter Typen in Instanzdokumenten (Using Derived Types in Instance Documents) in XML Schema Part 0: Primer.
Weitere Informationen zur Prüfungssemantik bei der Verwendung von "xsi:type" finden Sie im Abschnitt zur schemabezogenen Markup-Formatierung bei der Prüfung von Dokumenten (Schema-Related Markup in Documents Being Validated) in XML Schema Part 1: Structures.