Exercices XML

Exercice 5 DTD Corrigé

Le but de ce TP est de créer la DTD du répertoire, voici les informations que l'on souhaite connaître pour chaque personne :

  • son sexe (homme ou femme) ;
  • son nom ;
  • son prénom ;
  • son adresse ;
  • un ou plusieurs numéros de téléphone (téléphone portable, fixe, bureau, etc.) ;
  • une ou plusieurs adresses e-mail (adresse personnelle, professionnelle, etc.).

Voici le document XML que nous avions construit :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<repertoire> 
 	<!-- ALAOUI Said --> 
 	<personne sexe="masculin"> 
 	 	<nom>ALAOUI</nom> 
 	 	<prenom>Ali</prenom> 
 	 	<adresse> 
 	 	 	<numero>7</numero> 
 	 	 	<voie type="impasse">impasse du chemin</voie> 
 	 	 	<codePostal>75015</codePostal> 
 	 	 	<ville>Sale</ville> 
 	 	 	<pays>MAROC</pays> 
 	 	</adresse> 
 	 	<telephones> 
 	 	 	<telephone type="fixe">01 02 03 04 05</telephone> 
 	 	 	<telephone type="portable">06 07 08 09 10</telephone> 
 	 	</telephones> 
 	 	<emails> 
 	 	 	<email type="personnel">alaoui.ali@gmail.fr</email> 
 	 	 	<email type="professionnel"> alaoui.ali@societe.com</email> 
 	 	</emails> 
 	</personne> 
 	<!—SLAOUI Samira --> 
 	<personne sexe="feminin"> 
 	 	<nom> karimi</nom> 
 	 	<prenom>karim</prenom> 
 	 	<adresse> 
 	 	 	<numero>28</numero> 
 	 	 	<voie type="avenue">avenue de la république</voie> 
 	 	 	<codePostal>13005</codePostal> 
 	 	 	<ville>RABAT</ville> 
 	 	 	<pays>MAROC</pays> 
 	 	</adresse> 
 	 	<telephones> 
 	 	 	<telephone type="bureau">04 05 06 07 08</telephone> 
 	 	</telephones> 
 	 	<emails> 
 	 	 	<email type="professionnel">contact@oudev.net</email> 
 	 	</emails> 
 	</personne> 
</repertoire> 

Utiliser une DTD privé pour valider ce fichier XML .

<?xml version="1.0" encoding="UTF-8"?> 
<!ELEMENT repertoire (personne+)> 
<!ELEMENT personne (nom,prenom,adresse,telephones,emails)> 
<!ATTLIST personne sexe (masculin | feminin) "masculin" > 
 
<!ELEMENT nom (#PCDATA)> 
<!ELEMENT prenom (#PCDATA)> 
<!ELEMENT adresse (numero,voie,codePostal,ville,pays)> 
<!ELEMENT numero (#PCDATA)> 
<!ELEMENT voie (#PCDATA)> 
<!ATTLIST voie type CDATA #REQUIRED> 
<!ELEMENT codePostal (#PCDATA)> 
<!ELEMENT ville (#PCDATA)> 
<!ELEMENT pays (#PCDATA)> 
 
<!ELEMENT telephones (telephone+)> 
<!ELEMENT telephone (#PCDATA)> 
<!ATTLIST telephone type (fixe|portable|bureau) "fixe"> 
 
<!ELEMENT emails (email+)> 
<!ELEMENT email (#PCDATA)> 
<!ATTLIST email type (personnel|professionnel) "personnel"> 

 

Ajouter un commentaire

Veuillez vous connecter pour ajouter un commentaire.

Pas encore de commentaires.