Comment utiliser les schémas XML
XSD Comment l'utiliser ?
Les documents XML peuvent faire référence à un schéma DTD ou XML.
Un document XML simple :
Veuillez regarder ce document XML nommé "note.xml" :
<note>
<à>Tove</à>
<de>Jani</de>
<heading>Rappel</heading>
<body>Ne m'oubliez pas ce week-end !</body>
</note>
Fichier DTD
Celui-ci L'exemple est un fichier DTD nommé "note.dtd", qui définit les éléments du document XML ci-dessus ("note.xml") :
<!ELEMENT à (#PCDATA)>
<!ELEMENT de (#PCDATA)>
<!ELEMENT rubrique (#PCDATA)>
<!ELEMENT body (#PCDATA)>
La ligne 1 définit que l'élément de note comporte quatre sous-éléments : "to, from, head, body".
La ligne 2 à 5 définit le type d'éléments vers, depuis, en-tête et corps comme "#PCDATA".
Schéma XML
L'exemple suivant est un fichier de schéma XML nommé "note.xsd", qui définit les éléments du document XML ci-dessus ("note.xml") :
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns="http://www.w3schools.com"
elementFormDefault="qualified">
<xs :element nom="note">
<xs:complexType>
<xs:séquence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:séquence>
</xs:complexType>
</xs:element>
</xs:schema>
note est un type composite car il contient d'autres éléments enfants. Les autres éléments (vers, depuis, titre, corps) sont des types simples car ils ne contiennent aucun autre élément. Vous en apprendrez davantage sur les types composés et simples dans les chapitres suivants.
Référence à la DTD
Ce fichier contient une référence à la DTD :
<!DOCTYPE note SYSTEM
"http://www.w3schools.com/dtd/note.dtd">
<note>
<à>Tove</à>
<de>Jani</de>
<heading>Rappel</heading>
<body>Ne m'oubliez pas ce week-end !</body>
</note>
Référence au schéma XML
Ce fichier contient une référence au schéma XML :
<note
xmlns="http ://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com note.xsd">
<à>Tove</à>
<de>Jani</de>
<heading>Rappel</heading>
<body>Ne m'oubliez pas ce week-end !</body>
</note>