Tutoriel sur le...login
Tutoriel sur le schéma XML
auteur:php.cn  temps de mise à jour:2022-04-20 14:13:02

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:element name="person">
<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" :

<?xml version="1.0" encoding="ISO-8859-1"?> 🎜><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
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" :

<?xml version=" 1.0" encoding="ISO-8859-1"?>

<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.