Précédent Remonter Suivant

0.6.4  Document XML et DTDs

Dans cet exercice, vous allez créer un document XML (à la main) puis lui associer une DTD (fabriquée à la main également).
  1. Téléchargez le document Vertigo.xml;
  2. En vous inspirant de la forme de ce document, créez un document XML monagenda.xml ayant pour élément racine AGENDA, comme premier fils NOM, comme second fils PRENOM, puis un fils EVENEMENT. Ajoutez du texte dans ces éléments (par exemple GROSS-AMBLARD pour la balise NOM, David pour PRENOM, et "Tp XML à 17h30" pour EVENEMENT;
  3. En utilisant la commande xmllint <nom du fichier>, vérifiez que le document est bien formé (si le document est mal formé, xmllint renvoie un message d'erreur. Sinon, il affiche simplement le document). Essayez de le rendre mal formé ;

  4. En vous inspirant des documents agenda.xml et agenda.dtd, fabriquez une DTD pour monagenda.xml. Rattachez cette DTD au document. ATTENTION, il faut faire un enregitrer sous de ces documents, pas un copié-collé depuis votre navigateur, car de nombreuses informations y sont invisibles ;
  5. En utilisant la commande xmllint –valid <nom du fichier XML>, vérifiez que le document est valide. Essayez de le rendre invalide ;

  6. Modifiez la DTD pour que AGENDA puisse contenir une suite quelconque d'EVENEMENT. Modifiez votre document monagenda.xml pour qu'il contienne plusieurs événements. Vérifiez la validité de votre document.

  7. Ajoutez un attribut date dans la balise EVENEMENT (modifiez bien sûr la DTD et validez votre document);

  8. Faites en sorte que cet attribut soit obligatoire;

  9. Modifiez l'élément EVENEMENT pour qu'il contienne une suite quelconque d'éléments PARTICIPANT (modifiez bien sûr la DTD et validez votre document – il n'est pas demandé d'accepter aussi les noeuds texte PCDATA);

  10. Envoyez vos documents monagenda.xml et agenda.dtd à l'adresse dgram.at.cnam.fr, avec pour sujet tpvalc 1 <votre nom>. Vous pouvez utilisez les commandes suivantes (attention aux guillemets et au < final) :

Précédent Remonter Suivant