XML -- TP 1 : Documents et DTDs


Méthodologie

Généralement, quand on veut lire/modifier le contenu d'un fichier XML non prévu pour le web, il suffit de l'ouvrir avec un éditeur de texte. Vous pouvez aussi l'ouvrir directement dans une fenêtre Firefox. Dans ce cas, si le fichier est mal formé vous aurez une erreur, sinon vous verrez l'arbre du document. Il est alors possible de voir le contenu du fichier initial en demandant à voir le code source de la page.

Pour tester la validité d'un document XML, plusieurs outils sont disponibles. Le plus simple est d'utiliser le programme xmllint (toutes les infos via la commande "man xmllint"). Exemples :

xmllint --valid --noout fichier.xml
xmllint --dtdvalid fichier.dtd fichier.xml

Exercice 1: Premiers fichiers XML

Pour chacun des fichiers suivants, déterminez s'il est bien formé, et corrigez les erreurs (il ne suffit pas toujours que le document soit bien formé).

Exercice 2: Création d'un document XML (à partir d'un doc BiBTeX)

Fichiers: - biblio.bib - inproc.xml

On donne ci-dessous l'extrait d'un fichier BiBTeX, un système permettant de répertorier des références bibliographique.

 @InProceedings{DalzilioS:learnbs,
  author = "Dal Zilio, Silvano 
            and Bernard, Thierry M.",
  title = "Learning Binary Shapes as Compression and its
	   Cellular Implementation",
  booktitle = "ACCV '95 -- 2nd Asian Conference on Computer
               Vision",
  year = 1995,
  volume = 2,
  pages = "616--620",
  month = dec,
  url = "http://www.cmi.univ-mrs.fr/~dalzilio/Papers/accv95.ps",
  abstract = "We present a methodology to learn how to
   	 recognize binary shapes, based on the principle that
   	 recognition may be understood as a process of
   	 information compression. Our approach, directed
   	 towards adaptive target tracking applications, is
   	 intended to be well suited to fine-grained parallel
   	 architectures, such as cellular automata machines
   	 that can be integrated in artificial retinas. This
   	 methodology, fruitfully explained within the frame
   	 of mathematical morphology, is then particularized
   	 in the perspective of its actual implementation."

Cette entrée correspond à un article paru dans une conférence. Une traduction possible de ces données sous la forme d'un fichier XML se trouve dans le fichier inproc.xml.
Traduisez les entrées bibliographiques de l'article et du livre se trouvant dans le fichier biblio.bib. Expliquez vos choix.

Exercice 3: Validation de DTDs

Exercice 4: Création de DTD

Exercice 5 : Échange de DTD

Échangez votre fichier bibliographie (de l'exercice 4) avec votre voisin et testez si votre DTD fonctionne avec ce fichier. Si non, essayez de modifier votre DTD afin de pouvoir accepter le plus de fichiers différents possible.