La validation permet de vérifier si la structure et le contenu d'un document XML respecte les contraintes imposées par une définition de type de document (DTD) ou un schéma XML.
<!-- Fichier : employes.xml -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE employes SYSTEM "employes.dtd">
<employes>
<employe id="RJ1002" service="DG001">
<nom>Robierre</nom>
<prenom>Jean</prenom>
</employe>
<employe id="LA1012" service="DG001">
<nom>Lardut</nom>
<prenom>Anne</prenom>
</employe>
<employe id="GA1013" service="ST001">
<nom>Guilde</nom>
<prenom>Angelique</prenom>
</employe>
<employe id="HP1022" service="SC001">
<nom>Henry</nom>
<prenom>Paul</prenom>
</employe>
<employe id="MM1045" service="RH001">
<nom>Mortier</nom>
<prenom>Marc</prenom>
</employe>
<employe id="LS1102" service="SQ001">
<nom>Lebreton</nom>
<prenom>Sophie</prenom>
</employe>
<employe id="JM1095" service="RD001">
<nom>Jolie</nom>
<prenom>Martine</prenom>
</employe>
<employe id="MT1036" service="SC101">
<nom>Marcelin</nom>
<prenom>Tania</prenom>
</employe>
<employe id="LL1029" service="SC101">
<nom>Leger</nom>
<prenom>Laurence</prenom>
</employe>
<employe id="DM1052" service="SC001">
<nom>Duroi</nom>
<prenom>Maxime</prenom>
</employe>
</employes>
<!-- Fichier : employes.xsd -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="element_enfant" type="xsd:string"/>
<xsd:element name="element_racine">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="element_enfant" type="xsd:string" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<!-- Fichier : employes.rng -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<element name="employes"
xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<oneOrMore>
<element name="employe">
<attribute name="id">
<data type="ID"/>
</attribute>
<attribute name="service">
<data type="NMTOKEN"/>
</attribute>
<element name="nom">
<text/>
</element>
<element name="prenom">
<text/>
</element>
</element>
</oneOrMore>
</element>
<!-- Fichier : employes.dtd -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT employe (nom, prenom)>
<!ATTLIST employe
id ID #REQUIRED
service NMTOKEN #REQUIRED
>
<!ELEMENT employes (employe+)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
Sommaire