Utilisation de xsi:type

Si des éléments de type complexe se trouvent dans votre fichier XML, la prise en charge de xsi:type dans l'éditeur XML vous permet de choisir entre le type complexe et les types complexes dérivés de ce dernier.

La spécification de schéma XML vous permet de dériver des types par extension. Exemple : Vous disposez d'un schéma XML et vous créez un type complexe pour ce schéma, appelé Adresse. Vous ajoutez ensuite des éléments de base à Adresse, tels que NomRue et Ville.

Par la suite, vous dérivez (par extension) deux nouveaux types complexes à partir du type Adresse : AdresseUSA et AdresseRoyaumeUni. Vous ajoutez un nouvel élément à AdresseUSA, appelé Etat, et un nouvel élément à AdresseRoyaumeUni, appelé CodePostal.

Par la suite, vous créez deux éléments supplémentaires - AdresseFacturation et AdresseLivraison - en tant que types Adresse.

Lorsque vous créez un document d'instance XML pour un élément tel que AdresseFacturation ou Adresse, un attribut xsi:type est automatiquement ajouté au document. Par exemple :

<AdresseFacturation xsi:type="ipo:Adresse">

L'attribut xsi:type est utilisé pour identifier des types complexes dérivés (ainsi que les types complexes à partir desquels d'autres types ont été dérivés).

Dans la vue Conception de l'éditeur XML, une liste vous permettra de sélectionner la définition de type appropriée (Adresse, AdresseUSA, ou AdresseRoyaumeUni). L'édition guidée pour le modèle de contenu reflétera le type de définition choisi. Par exemple, si vous choisissez AdresseUSA, votre élément AdresseFacturation pourra contenir un élément Etat, mais pas un élément CodePostal.

L'exemple XML "Edition et validation de fichiers XML" illustre la prise en charge de xsi:type.

Pour plus d'informations sur xsi:type, reportez-vous à la rubrique Using Derived Types in Instance Documents du document XML Schema Part 0: Primer.

Pour plus d'informations sur la sémantique de validation lorsque xsi:type est utilisé, reportez-vous à la rubrique Schema-Related Markup in Documents Being Validated du document XML Schema Part 1: Structures