Korzystanie z xsi:type

Jeśli w pliku XML są elementy typu złożonego, obsługa xsi:type w edytorze XML umożliwia wybór między typem złożonym a wszelkimi innymi złożonymi typami pochodnymi.

Specyfikacja schematu XML umożliwia tworzenie typów pochodnych przez rozszerzenie. Można na przykład utworzyć dla schematu XML typ złożony o nazwie Adres. Następnie należy dodać podstawowe elementy do typu Adres, takie jak nazwaUlicy i miasto.

Potem przez rozszerzenie tworzymy dwa nowe złożone typy pochodne z typu Adres - AdresUS i AdresUK. Następnie dodajemy do typu AdresUS nowy element o nazwie stan, a do typu AdresUK nowy element o nazwie kodPocztowy.

Potem tworzymy dwa nowe elementy - rachunekNa i wyslijDo - jako typy elementu Adres.

Przy tworzeniu dokumentu instancji XML dla elementu takiego jak rachunekNa lub Adres, atrybut xsi:type zostanie automatycznie do niego dodany. Na przykład:

<rachunekNa xsi:type="ipo:Adres">

Atrybut xsi:type jest wykorzystywany do zidentyfikowania pochodnych typów złożonych (a także typów złożonych, z których zostały utworzone inne).

W widoku Projekt edytora XML widoczna będzie lista, z której można wybrać odpowiednią definicję typu (Adres, AdresUS lubAdresUK). Wspomagana edycja modelu treści będzie realizowana w oparciu o wybraną definicję. Jeśli na przykład wybierzesz AdresUS, element rachunekNa będzie mógł zawierać element stan, ale nie będzie mógł zawierać elementu kodPocztowy.

W przykładowym dokumencie XML o nazwie "Edytowanie i sprawdzanie poprawności plików XML" przedstawiono obsługę xsi:type.

Więcej informacji na temat xsi:type zawiera sekcja Użycie typów pochodnych w dokumentach instancji (Using Derived Types in Instance Documents) w dokumencieXML Schema Część 0: Elementarz (XML Schema Part 0: Primer).

Więcej informacji o semantyce sprawdzania poprawności stosowanej wspólnie z xsi:type zawiera sekcja Język znaczników powiązany ze schematami w sprawdzanych dokumentach (Schema-Related Markup in Documents Being Validated) w dokumencie XML Schema Część 1: Struktury (XML Schema Part 1: Structures).