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>