Schéma XML n'importe quel élément
XSD <any> Élément L'élément
><any> par le document de schéma XML ! Élément
h2><any> L'élément
<any> nous donne la possibilité d'étendre des documents XML avec des éléments qui ne sont pas spécifiés par le schéma !
L'exemple suivant est un fragment cité d'un schéma XML nommé "family.xsd". Il montre une déclaration pour l'élément "personne". En utilisant l'élément <any>, nous pouvons étendre le contenu de "person" par n'importe quel élément (après <lastname>) :
<xs:complexType>
<xs:séquence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:any minOccurs="0"/>
</xs:séquence>
</xs:complexType>
</xs:element>
Maintenant, nous souhaitons étendre l'élément "personne" avec l'élément "enfants". Dans ce cas, nous pouvons le faire même si l'auteur du schéma ci-dessus n'a déclaré aucun élément « enfants ».
Veuillez consulter ce fichier de schéma, nommé "children.xsd" :
targetNamespace="http://www.w3schools.com"
xmlns="http : //www.w3schools.com"
elementFormDefault="qualified">
<xs:element name="children">
<xs:complexType>
<xs:séquence>
<xs:element name="childname" type="xs:string"
maxOccurs="unbounded"/>
</xs:séquence>
</xs:complexType>
</xs:element>
</xs:schema>
Le fichier XML suivant (nommé "Myfamily.xml") utilise des composants de deux schémas différents, "family.xsd" et "children.xsd" :
<persons xmlns="http://www.microsoft.com"
xmlns:xsi= "http://www. w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.microsoft.com family.xsd
http://www.w3schools.com children .xsd">
<personne>
<prénom>Hege</prénom>
<nom>Refsnes</nom>
<enfants>
<nom de l'enfant>Cécilie</nom de l'enfant>
</enfants>
</personne>
<personne>
<prénom>Objet</prénom>
<lastname>Refsnes</lastname>
</person>
</persons>
Le fichier XML ci-dessus est valide en raison de la famille de schéma ". xsd" nous permet d'étendre l'élément "person" avec des éléments facultatifs après l'élément "lastname".
<any> et <anyAttribute> peuvent tous deux être utilisés pour créer des documents évolutifs ! Ils donnent au document la possibilité de contenir des éléments supplémentaires non déclarés dans le schéma XML principal.