S01 · TD : lire et concevoir du XML sans outil
Durée : 30 min · Travail : en binôme, sans ordinateur · Support : feuille et stylo
Ce TD prépare le TP. L’objectif est de savoir repérer une erreur et justifier une modélisation sans s’appuyer sur un outil : en examen comme en réunion de conception, vous n’aurez pas xmllint.
Exercice 1 — Chasse aux erreurs à l’œil (10 min)
Section intitulée « Exercice 1 — Chasse aux erreurs à l’œil (10 min) »Le document suivant contient cinq erreurs qui l’empêchent d’être bien formé.
<?xml version="1.0" encoding="UTF-8"><Catalogue> <livre isbn=9782070360024 genre="roman" genre="classique"> <titre>L'Étranger & autres récits</titre> <annee>1942</annee> </Livre></catalogue>- Recopiez le document en numérotant les lignes, puis entourez chaque erreur.
- Pour chacune, écrivez la règle violée en une phrase (par exemple « toute balise ouverte doit être fermée »).
- Réécrivez le document corrigé, sans changer le sens des données.
- Lesquelles de ces erreurs un navigateur web tolérerait-il si le fichier était du HTML ? Pourquoi cette différence ?
Exercice 2 — Élément ou attribut ? (10 min)
Section intitulée « Exercice 2 — Élément ou attribut ? (10 min) »Une bibliothèque doit décrire, pour chaque livre : l’ISBN, le titre, le ou les auteurs, l’année, le genre, le nombre d’exemplaires, un résumé, et la langue du résumé.
- Classez ces huit informations en deux colonnes : élément ou attribut.
- Justifiez chaque choix par un seul critère parmi : valeur multiple possible, structure interne, texte long, métadonnée courte, ordre significatif.
- Écrivez le fragment XML d’un livre ayant deux auteurs, conforme à votre classement.
- Un collègue propose
<livre auteurs="Kernighan, Ritchie">. Donnez deux raisons concrètes de refuser cette solution.
Exercice 3 — Espaces de noms (10 min)
Section intitulée « Exercice 3 — Espaces de noms (10 min) »Soit le document :
<catalogue xmlns="urn:bibliotech:catalogue" xmlns:m="urn:bibliotech:membres"> <livre isbn="9782070360024"> <titre>L'Étranger</titre> </livre> <m:adherent m:id="M01"> <m:titre>Mme</m:titre> <nom>Salma Bennani</nom> </m:adherent></catalogue>- Pour chacun des noms
catalogue,livre,isbn,titre(ligne 4),m:titre,m:idetnom(ligne 9), indiquez dans quel espace de noms il se trouve — ou aucun. - L’élément
<nom>de la ligne 9 est-il au bon endroit d’un point de vue métier ? Que faudrait-il écrire ? - Un autre établissement utilise le préfixe
bt:au lieu du préfixe par défaut, avec le même URI. Les deux documents sont-ils équivalents pour un parseur ? Justifiez. - Peut-on remplacer
urn:bibliotech:catalogueparhttps://bibliotech.ma/catalogue? Le navigateur ira-t-il chercher quelque chose à cette adresse ?
Ce qu’il faut savoir refaire
Section intitulée « Ce qu’il faut savoir refaire »- Énoncer les règles du document bien formé et les appliquer à la lecture.
- Défendre un choix élément/attribut par un critère précis.
- Dire, pour n’importe quel nom d’un document, à quel espace de noms il appartient.