Etude des notions de document bien formés et valides. Mise en place de Définition de Types de Documents (DTD).
La DTD complète Sartre.dtd permettant de valider Sartre.xml est à envoyer par courrier électronique à lionel.medini (at) univ-lyon1.fr pour le 19 décembre. Le sujet du courrier électronique sera : "SIB-XML-TD2-NOM/PRENOM".
On considère la grammaire suivante :
Départ : A A --> (B | C) B --> (B , D)* D --> (D | E) C --> D+
On considère ce document XML :
<BIBLIO SUBJECT="XML" > <BOOK ISBN="9782212090819" LANG="fr" SUBJECT="applications"> <AUTHOR> <FIRSTNAME>Jean-Christophe</FIRSTNAME> <LASTNAME>Bernadac</LASTNAME> </AUTHOR> <AUTHOR> <FIRSTNAME>François</FIRSTNAME> <LASTNAME>Knab</LASTNAME> </AUTHOR> <TITLE>Construire une application XML</TITLE> <PUBLISHER> <NAME>Eyrolles</NAME> <PLACE>Paris</PLACE> </PUBLISHER> <DATEPUB>1999</DATEPUB> </BOOK> <BOOK ISBN="9782212090529" LANG="fr" SUBJECT="général"> <AUTHOR> <FIRSTNAME>Alain</FIRSTNAME> <LASTNAME>Michard</LASTNAME> </AUTHOR> <TITLE>XML, Langage et Applications</TITLE> <PUBLISHER> <NAME>Eyrolles</NAME> <PLACE>Paris</PLACE> </PUBLISHER> <DATEPUB>1998</DATEPUB> </BOOK> <BOOK ISBN="9782840825685" LANG="fr" SUBJECT="applications"> <AUTHOR> <FIRSTNAME>William J.</FIRSTNAME> <LASTNAME>Pardi</LASTNAME> </AUTHOR> <TRANSLATOR PREFIX="adapté de l'anglais par"> <FIRSTNAME>James</FIRSTNAME> <LASTNAME>Guerin</LASTNAME> </TRANSLATOR> <TITLE>XML en Action</TITLE> <PUBLISHER> <NAME>Microsoft Press</NAME> <PLACE>Paris</PLACE> </PUBLISHER> <DATEPUB>1999</DATEPUB> </BOOK> </BIBLIO>
Reprenez le document annuaire bien formé que vous avez corrigé au TD précédent. L'objectif, maintenant que le document XML est bien formé, est d'écrire une DTD permettant de le valider.
Voici une description de l’arborescence XML contenue dans Exo1.xml :
Ecrivez une DTD pour ce document XML dans le bloc-notes, et enregistrez-le sous le nom Exo1.dtd. Vous vérifierez un peu plus tardd'une part que cette DTD a bien été conçue (qu'elle est syntaxiquement correcte), d'autre part qu'elle permet effectivement de valider Exo1.xml
Ouvrez le fichier corrigé Exo1.xml dans XMLSpy. XML-Spy offre entre autres les fonctionnalités suivantes :
Vérification de bonne formation
Vérifiez que le document XML est bien formé via le menu "XML -> Check well-formedness."
Edition XML
Ajoutez au document un élément Contact complet (par exemple le votre, ou celui de votre voisin).
Gestion des fichiers liés (notamment association document XML / DTD)
Les étapes à suivre pour associer une DTD à un document XML sont les suivantes :
Associez la DTD Exo1.dtd à Exo1.xml. Quelle ligne est ajoutée au début du fichier XML ?
Vérification de validité
Vérifiez que le fichier Exo1.xml est valide avec "XML -> Validate".
Vous pouvez maintenant ajouter un nouveau contact à Exo1.xml, et valider à nouveau le fichier.
Nous allons maintenant nous intéresser au fichier Sartre.xml. Celui-ci contient une partie de la bibliographie de Jean-Paul Sartre. Analysez ce document XML : éléments, attributs, références entre éléments.
Vous allez maintenant créer une DTD qui permet de valider de Sartre.xml en utilisant les informations qui suivent.
La bibliographie contient 3 branches :
Procédez en plusieurs étapes :