XML -- TP 2 : Schémas XML
Méthodologie
Pour tester la validité d'un document XML vis-à-vis d'un Schéma
XML, plusieurs outils sont disponibles. Le plus simple est d'utiliser
le programme xmllint (toutes les infos via la
commande "man xmllint"). Exemple :
xmllint --schema fichier.xsd fichier.xml
Exercice 1: Un Premier Schéma XML
Validez le document contacts.xml
par rapport au schéma contacts.xsd en
utilisant xmllint.
Exercice 2: Réécriture de DTDs en Schémas XML
Pour chacune des trois DTDs vues au TP précédent, proposez un Schéma XML :
Vérifiez que vos Schémas XML sont corrects en validant les documents
XML vis-à-vis de ces schémas à l'aide de xmllint.
Exercice 3: Schémas XML vs DTDs
On considère le fichier wg-title.xml, qui
est une modification du document wg.xml. Dans celui-ci, la balise gdt
contient en plus un élément fils "title", qui lui-même doit contenir
exactement un élément fils "team", donnant le nom de l'équipe, et un
élément fils "topic", donnnant le thème du groupe de travail.
- Est-il possible de donner une DTD pour laquelle ce document est
valide ?
- Modifiez le schéma XML construit à l'exercice 2 pour qu'il
modélise ce nouveau document wg-title.xml.
Exercice 4: Utilisation d'un IDE
Nous allons utiliser
l'IDE Exchanger XML Lite
pour tester la fonctionnalité de visualisation de Schéma, et de
génération automatique de Schéma.
Modalités d'installation :
Questions :
-
Dans l'aborescence des exemples présents, sélectionnez celui intitulé
"Schéma Viewer". Utilisez la fonction permettant d'inférer de façon
automatique un schéma pour ce document, sauvegardez-le dans un fichier
externe. Comparez-le avec le schéma contacts.xsd proposé, que
constatez-vous ?
-
Testez cette fonctionnalité avec les exemples étudiés dans l'exercice
2.
Exercice 5 : Création de Schémas XML
Rédiger un Schema XML pour une bibliographie. Cette
bibliographie :
- contient des livres et des articles ;
- les informations nécessaires pour un livre (élément
livre) sont :
- son titre général (élément
titre) ;
- les noms des auteurs (éléments
auteur) ;
- ses tomes (élément
tomes) et pour chaque tome (éléments tome), leur nombre de pages (élément pages) ;
- des informations générales sur son édition
(élément
infosEdition) comme par exemple le nom de
l'éditeur (élément editeur), le lieu d'édition
(élément lieuEdition), le lieu d'impression
(élément lieuImpression), son numéro ISBN
(élément ISBN) ;
- les informations nécessaires pour un article (élément
article) sont :
- son titre (élément
titre) ;
- les noms des auteurs (éléments
auteur) ;
- ses références de publication (élément
infosPublication) : nom du journal (élément nomJournal), numéro des pages (élément pages), année de publication (élément anneePublication) et numéro du journal (élément numéroJournal)
- on réservera aussi un champ optionnel, pour chaque livre et
chaque article, pour un avis (élément
avis) personnel.
Tester ce Schema XML avec un
fichier XML que l'on
écrira ex-nihilo et validera.
7
Pour lier un document XML à un
schema XML local, on procède ainsi :
<balise_racine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="mon_schema.xsd">