Cours Définir la grammaire pour une instance de document XML
Descriptif
3. Validation d’un document XML avec les DTD ou XMLSchéma
3.5. Exemple pratique
Enoncé: Soit une base de données contenant la liste des clients d'une entreprise et des commandes. On suppose que chaque client est caractérisé par un numero unique et dans l'ordre par un nom, un prénom et une adresse. L'adresse est composée d'une séquence de ville et de rue. Une commande est caractérisée par un numéro unique, une date et le numéro du client qui l'a passée. Les clients et les commandes peuvent être stockés dans n'importe quel ordre.
Proposition de DTD: (fichier bd_ent.dtd)
<!ELEMENT bd_entreprise (client | commande)*>
<!ELEMENT client (nom, prenom, adresse)>
<!ELEMENT commande (date)>
<!ELEMENT adresse (ville, rue)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT ville (#PCDATA)>
<!ELEMENT rue (#PCDATA)>
<!ATTLIST client numero_client ID #REQUIRED>
<!ATTLIST commande numero_com ID #REQUIRED numero_client IDREF #REQUIRED>
Exemple d'instance:
<?xml version="1.0" encoding="UTF-8"? standalone="no">
<!DOCTYPE bd_entreprise SYSTEM "bd_ent.dtd">
<bd_entreprise>
<client numero="RF2003">
<nom>Dieye</nom>
<prenom>Ndiogou</prenom>
<adresse>
<ville>Médina</ville>
<rue>25</rue>
</adresse>
</client>
<commande numero_com="COM20" numero_client="RF2003">20/03/2015</commande>
</bd_entreprise>