Latest web development tutorials

XML Schema tout element

> <Tout élément> par élément nous donne la possibilité d'étendre est non spécifiée par le schéma d'un document XML!


h2> élément <any>

<Any> élément par élément nous donne la possibilité d'étendre est non spécifiée par le schéma d'un document XML!

L'exemple suivant est cité fragment de schéma XML appelé "family.xsd" dans. Il montre une déclaration pour l'élément «personne». En utilisant l'élément <any>, on peut utiliser tout élément (dans le <nom>) Après éléments étendus "personne":

<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:any minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>

Maintenant, nous voulons utiliser l'élément "enfants" d'étendre l'élément «personne». Dans de telles circonstances, nous pouvons le faire, même si l'auteur du schéma ci-dessus ne déclare aucun élément "enfants".

Regardez 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:sequence>
<xs:element name="childname" type="xs:string"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

</xs:schema>

Le fichier XML suivant (nommé "Myfamily.xml"), utilisé les données de deux ingrédients de schéma 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">

<person>
<firstname>Hege</firstname>
<lastname>Refsnes</lastname>
<children>
<childname>Cecilie</childname>
</children>
</person>

<person>
<firstname>Stale</firstname>
<lastname>Refsnes</lastname>
</person>

</persons>

Au-dessus du fichier XML est valide, ce qui est dû au schéma "family.xsd" Nous avons permis après éléments "lastname" éléments optionnels pour étendre l'élément "personne".

<Any> et <anyAttribute> peut être utilisé pour créer un document évolutif! Ils ont la capacité de rendre le document ne contient pas de déclaration du schéma XML principal à travers des éléments supplémentaires.