Nous allons reprendre le texte de l'exercice 4 sur les DTD, mais cette fois-ci avec un schéma. On ne déclarera, pour le moment, que des types de chaînes de caractères.
Rédiger un Schema XML pour une bibliographie. Cette
bibliographie :
livre) sont :
titre) ;auteur) ;tomes) et pour chaque tome (éléments tome), leur nombre de pages (élément pages) ;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) ;article) sont :
titre) ;auteur) ;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)avis) personnel.
Tester ce Schema XML avec un fichier XML que l'on écrira ex-nihilo et validera.
Modifier le Schéma précédent... On ne déclarera, pour le moment, que des types de chaînes de caractères.
soustitre à l'élément titre ;tome un élément vide et en lui ajoutant un attribut requis nbPages et un attribut optionnel sousTitre ;nomJournal un attribut de l'élément infosPublication et en lui donnant comme valeur par défaut Feuille de Chou ;Utiliser ce Schéma pour créer un fichier XML valide.
Nous allons modifier le Schema précédent pour tirer parti des fonctionnalités additionnelles de ce format, relatives aux types de données.
pages doit être un entier positif, ainsi que l'élément numéroJournal.anneePublication doit être déclaré comme... une année.Nous allons maintenant définir nos propres types de données, en les dérivant par rapport aux types intégrés.
typeISBN, basé sur une restriction du type xsd:string, se limitant à une chaîne de caractères composée de 10 chiffres. L'utiliser dans la déclaration de l'élément ISBN.typePages, basé sur une restriction du type xsd:string, se limitant à un nombre, puis la chaîne de caractères " à ", puis un autre nombre.typeBiblio, reprenant la déclaration de l'élément racine, et l'affecter à l'élément racine.On vérifiera le fonctionnement à l'aide d'un fichier XML.