Avec le schéma de XML, un élément peut substituer un autre élément.
Substitution d'élément
Disons que nous avons des utilisateurs des deux pays différents : L'Angleterre et la Norvège. Nous voudrions la capacité avons laissé les utilisateurs choisir si lui ou elle voudrait employer les noms norvégiens d'élément ou les noms anglais d'élément dans le document de XML.
Pour résoudre ce problème, nous pourrions définir un substitutionGroup dans les schémas de XML. D'abord, nous déclarons un élément principal et alors nous déclarons l'autre élément qui déclarent qu'ils sont remplaçables pour l'élément principal.
Un document valide de XML (selon le schéma ci-dessus) ressemble à comme suit :
<customer>
<name>John Smith</name>
</customer>
Mais c'est valable plus de jours :
<kunde>
<navn>John Smith</navn>
</kunde>
Employer le substitutionGroup
Le type de l'élément remplaçable doit être identique comme, ou dérivé de, le type de l'élément principal. Si le type des éléments remplaçables est identique comme le type de l'élément principal que vous ne devrez pas indiquer le type de l'élément remplaçable.
Noter que tout l'élément dans le substitutionGroup (l'élément principal et les éléments remplaçables) doit être déclaré en tant qu'éléments globaux, autrement cela ne fonctionnera pas !
Quels sont les éléments globaux ?
Les éléments globaux sont des éléments qui sont les enfants immédiats des éléments de « schéma » ! Les éléments locaux sont des éléments nichés dans les autres éléments.