XSD - <schema>Éléments
L'élément <schema> est l'élément racine de chaque XML Schema.
L'élément <schema>
L'élément <schema> est l'élément racine de chaque XML Schema :
<xs:schema>
...
...
</xs:schema>
L'élément <schema> peut contenir des attributs. Une déclaration de schéma ressemble souvent à ceci :
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.com"
xmlns="http://www.example.com"
elementFormDefault="qualified">
...
...
</xs:schema>
L'extrait de code suivant :
indique que les éléments et types de données utilisés dans le schéma proviennent de l'espace de noms "http://www.w3.org/2001/XMLSchema". Il spécifie également que les éléments et types de données de l'espace de noms "http://www.w3.org/2001/XMLSchema" doivent utiliser le préfixe xs:
Cet extrait :
montre que les éléments définis par ce schéma (note, to, from, heading, body) proviennent de l'espace de noms : "http://www.example.com".
Cet extrait :
indique que l'espace de noms par défaut est "http://www.example.com".
Cet extrait :
indique que tout élément utilisé dans un document d'instance XML et déclaré dans ce schéma doit être qualifié par l'espace de noms.
Référencer un schéma dans un document XML
Ce document XML contient une référence à un schéma XML :
<note xmlns="http://www.example.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.com note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Rappel</heading>
<body>Ne m'oubliez pas ce week-end !</body>
</note>
L'extrait de code suivant :
spécifie la déclaration de l'espace de noms par défaut. Cette déclaration indique au validateur de schéma que tous les éléments utilisés dans ce document XML sont déclarés dans l'espace de noms "http://www.example.com".
Une fois que l'espace de noms d'instance XML Schema est disponible :
vous pouvez utiliser l'attribut schemaLocation. Cet attribut possède deux valeurs. La première valeur est l'espace de noms à utiliser. La deuxième valeur est l'emplacement du schéma XML à utiliser pour cet espace de noms :