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">