Élément anyAttribute du schéma XML
Élément
XSD <anyAttribute> L'élément
<anyAttribute> par le schéma ! L'élément
<anyAttribute> nous donne la possibilité d'étendre des documents XML avec des attributs qui ne sont pas spécifiés par le schéma !
L'exemple ci-dessous est un fragment d'un schéma XML nommé "family.xsd". Il nous montre une déclaration pour l'élément "personne". En utilisant l'élément <anyAttribute>, nous pouvons ajouter n'importe quel nombre d'attributs à l'élément "person" :
<xs:complexType>
<xs:séquence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:séquence>
<xs:anyAttribute/>
</xs:complexType>
</xs:element>
Maintenant, nous souhaitons étendre l'élément "personne" avec l'attribut "genre". Dans ce cas, nous pouvons le faire même si l'auteur du schéma n'a jamais déclaré d'attribut « genre ».
Veuillez consulter ce fichier de schéma, nommé « attribute.xsd » :
targetNamespace="http://www.w3schools.com"
xmlns="http : //www.w3schools.com"
elementFormDefault="qualified">
<xs:attribute name="gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="mâle|femelle"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:schema>
Le XML suivant (nommé "Myfamily.xml") utilise des composants de différents schémas, "family.xsd" et "attribute.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.comattribut.xsd">
<genre de la personne="femelle">
<prénom>Hege</prénom>
<nom>Refsnes</lastname>
</person>
<person Gender="male">
<prénom>Objet</prénom>
<lastname>Refsnes</lastname>
</person>
</persons>
Le fichier XML ci-dessus est valide en raison de la famille "schéma". xsd" nous permet d'ajouter des attributs à l'élément "personne".
<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.