1

TD2 : XML et DTD

Objectifs du TP

Etude des notions de document bien formés et valides. Mise en place de Définition de Types de Documents (DTD).

A rendre

La DTD complète Sartre.dtd permettant de valider Sartre.xml est à envoyer par courrier électroniques à bertrand.richard (at) liris.cnrs.fr pour le 16 novembre. Le sujet du courrier électronique sera : "SIB-XML-TD2-NOM/PRENOM".

Documents XML bien formés

Enregistrez sur votre compte le document  XML Exo1.xml. Ouvrez-le dans un bloc-notes. 

Ce document n'est pas bien formé, vous allez donc le corriger jusqu'à ce qu'il le soit. Pour vérifier sa bonne formation, ouvrez-le régulièrement avec un navigateur tel que Firefox ou Internet Explorer, qui disposent d'un parser pour afficher l'arborescence des éléments, et s'arrête dès qu'il rencontre une erreur de bonne formation.

DTD pour l'annuaire

L'objectif, maitenant 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

Découverte d'XMLSpy

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.

DTD pour Sartre.xml

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 :

    1. Créez une DTD Sartre.dtd pour valider le document SartreCommentaires.xml (qui est une sous-partie de Sartre.xml, limitée à l'arbre de racines Commentaires). Vérifer que votre DTD convient en spécifiant au début de SartreCommentaires.xml que celle-ci doit le valider, et en utilisant XML-Spy.
    2. Dans le même fichier Sartre.dtd, ajoutez des déclarations permettant de valider le document SartreAuteurs.xm (sous-partie de Sartre.xml, limitée à l'arbre de racine Auteurs). Vérifer que votre DTD complétée permet de valider SartreAuteurs.xml.
    3. Procédez de la même manière pour SartreLivres.xml (sous-partie de Sartre.xml contenant uniquement la partie Livres).
    4. Compléter finalement votre DTD en décrivant les liens entre les éléments Bibliographie, Auteurs, Commentaires, Livres. Associez votre DTD au document Sartre.xml. Validez à l'aide de XML-Spy.