L'élément include permet d'inclure un schéma XML d'un même espace de noms dans un autre schéma.
<xsd:include
id = ID
schemaLocation = anyURI
{tout attribut ayant un espace de noms
différent de celui du schéma...}>
Contenu : (annotation?)
</xsd:include>
L'élément include possède plusieurs attributs destinés à l'identifier et à préciser l'adresse du schéma à inclure.
| Attributs | Description |
|---|---|
| id | précise un identificateur unique pour l'élément. |
| schemaLocation | spécifie une adresse URI pointant vers un schéma XML. |
L'élément include ne peut être inclus que dans l'élément suivant :
Exemple [voir]<?xml version="1.0" encoding="ISO-8859-1"?>
<librairie
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="c:\schema.xsd">
<livre isbn="2212110472" categorie="XML">
<titre>Services Web avec XML, SOAP, WSDL, UDDI, ebXML...</titre>
<auteur>Jean-Marie Chauvet</auteur>
<editeur>Eyrolles</editeur>
</livre>
<livre isbn="2100065203" categorie="XML">
<titre>XML - Manuel de Référence</titre>
<auteur>R.Wyke</auteur>
<auteur>S.Rehman</auteur>
<auteur>B.Leupen</auteur>
<editeur>Microsoft Press</editeur>
</livre>
<livre isbn="1928994474" categorie="XML">
<titre>XML.NET Developer's Guide</titre>
<auteur>Collectif</auteur>
<editeur>Syngress</editeur>
</livre>
</librairie>
<?xml version="1.0" encoding="UTF-8"?>
<!-- Fichier : schema.xsd -->
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xsd:include schemaLocation="c:\inclusion.xsd"/>
<xsd:complexType name="type_librairie">
<xsd:sequence>
<xsd:element name="livre" type="type_livre" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="librairie" type="type_librairie"/>
</xsd:schema>
<?xml version="1.0" encoding="UTF-8"?>
<!-- Fichier : inclusion.xsd -->
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xsd:simpleType name="type_isbn">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9]{10}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:attributeGroup name="groupe_attributs_livre">
<xsd:attribute name="isbn" type="type_isbn" use="required"/>
<xsd:attribute name="categorie" type="xsd:string"/>
</xsd:attributeGroup>
<xsd:group name="groupe_elements_livre">
<xsd:sequence>
<xsd:element name="titre" type="xsd:string"/>
<xsd:element name="auteur" type="xsd:string" maxOccurs="unbounded"/>
<xsd:element name="editeur" type="xsd:string"/>
</xsd:sequence>
</xsd:group>
<xsd:complexType name="type_livre">
<xsd:sequence>
<xsd:group ref="groupe_elements_livre"/>
</xsd:sequence>
<xsd:attributeGroup ref="groupe_attributs_livre"/>
</xsd:complexType>
</xsd:schema> |