XSD - L' élément <schema>
L'élément <schema> est l'élément racine de chaque schéma XML.
L'élément <schema>
L'élément <schema> est l'élément racine de chaque schéma XML :
<?xml version="1.0"?>
<xs:schema>
...
...
</xs:schema>
L'élément <schema> peut contenir certains attributs. Une déclaration de schéma ressemble souvent à ceci :
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://www.w3schools.com"
xmlns="https://www.w3schools.com"
elementFormDefault="qualified">
...
...
</xs:schema>
Le fragment suivant :
xmlns:xs="http://www.w3.org/2001/XMLSchema"
indique que les éléments et les 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 les types de données provenant de l'espace de noms "http://www.w3.org/2001/XMLSchema" doivent être préfixés par xs :
Ce fragment :
targetNamespace="https://www.w3schools.com"
indique que les éléments définis par ce schéma (note, to, from, header, body.) proviennent de l'espace de noms "https://www.w3schools.com".
Ce fragment :
xmlns="https://www.w3schools.com"
indique que l'espace de noms par défaut est "https://www.w3schools.com".
Ce fragment :
elementFormDefault="qualified"
indique que tous les éléments utilisés par le document d'instance XML qui ont été déclarés dans ce schéma doivent être qualifiés d'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 :
<?xml version="1.0"?>
<note xmlns="https://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.w3schools.com note.xsd">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
Le fragment suivant :
xmlns="https://www.w3schools.com"
spécifie la déclaration d'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 "https://www.w3schools.com".
Une fois que vous disposez de l'espace de noms XML Schema Instance :
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
vous pouvez utiliser l'attribut schemaLocation. Cet attribut a deux valeurs, séparées par un espace. 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 :
xsi:schemaLocation="https://www.w3schools.com note.xsd"