XSD - É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>

<schema> L'élément peut contenir des attributs. Une déclaration de schéma ressemble souvent à cela :

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.codew3c.com"
xmlns="http://www.codew3c.com"
elementFormDefault="qualified">
...
...
</xs:schema>

Explication du code :

Le fragment suivant :

xmlns:xs="http://www.w3.org/2001/XMLSchema"

Affiche que les éléments et types de données utilisés dans le schéma viennent de l'espace de noms "http://www.w3.org/2001/XMLSchema". De plus, il stipule que les éléments et types de données venant de l'espace de noms "http://www.w3.org/2001/XMLSchema" doivent utiliser le préfixe xs :

Ce fragment :

targetNamespace="http://www.codew3c.com"

Affiche que les éléments définis par ce schéma (note, to, from, heading, body) viennent de l'espace de noms : "http://www.codew3c.com".

Ce fragment :

xmlns="http://www.codew3c.com"

Indique que l'espace de noms par défaut est "http://www.codew3c.com".

Ce fragment :

elementFormDefault="qualified"

Il indique que tous les éléments utilisés dans tout document d'instance XML et déclarés dans ce schéma doivent être limités par un espace de noms.

Référence du schéma dans le document XML

Ce document XML contient des références à XML Schema :

<?xml version="1.0"?>
<note xmlns="http://www.codew3c.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.codew3c.com note.xsd"
<to>George</to>
<from>John</from>
<heading>Rappel</heading>
<body>N'oubliez pas la réunion !</body>
</note>

Explication du code :

Le fragment suivant :

xmlns="http://www.codew3c.com"

Cette déclaration spécifie la déclaration de l'espace de noms par défaut. Cette déclaration informera le 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.codew3c.com".

Une fois que vous avez une instance de XML Schema disponible pour l'espace de nommage :

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Vous pouvez utiliser l'attribut schemaLocation. Cet attribut a deux valeurs. La première valeur est l'espace de nommage à utiliser. La deuxième valeur est l'emplacement du XML schema pour cet espace de nommage :

xsi:schemaLocation="http://www.codew3c.com note.xsd"