Ce document est destiné aux étudiants de l'Université Blida, Faculté de Science, Département d'Informatique, en troisième année de Licence en Informatique et Systèmes d'Information (L3 ISIL) pour l'année académique 2023/2024.
Il couvre les notions suivantes:
- Validation d'un document XML avec XML schéma (XSD).
- Création d'un schéma XML pour une bibliographie.
- Modification du schéma XML pour inclure des attributs optionnels et des types de données personnalisés.
- Utilisation de références à des éléments globaux et d'indicateurs d'occurrence.
Exercices TP Données semi structurées L3 ISIL 2023 2024
Télécharger PDFUniversité Blida
Faculté de science
Département d’informatique
Données semi-structurées L3 ISIL 2023/2024
Série de TP 3 : validation avec XML schéma (XSD)
Objectif :
L’objectif de ce TP est de valider un document XML avec l’utilisation de XML schéma (XSD).
Exercice 1 :
On considère également le schéma XML suivant :
Donner un exemple de document XML valide par rapport à ce schéma (XSD).
Exercice 2 :
1. Rédiger un schéma XML pour une bibliographie.
Cette bibliographie :
- Contient des livres ou des articles ;
- Les informations nécessaires pour un livre sont :
- son titre général ;
- les noms des auteurs ;
- ses tomes et pour chaque tome, leur nombre de pages ;
- des informations générales sur son édition comme par exemple le nom de l'éditeur, le lieu d'édition, le lieu d'impression, son numéro ISBN ;
- Les informations nécessaires pour un article sont :
- son titre ;
- les noms des auteurs ;
- ses références de publication : nom du journal, numéro des pages, année de publication et numéro du journal ;
- On réservera aussi un champ optionnel pour un avis personnel.
2. Modifier le Schéma précédent...
On ne déclarera, pour le moment, que des types de chaînes de caractères.
- ... en ajoutant un attribut optionnel soustitre à l'élément titre ;
- ... en faisant de l'élément tome un élément vide et en lui ajoutant un attribut requis nbPages et un attribut optionnel sousTitre ;
- ... en faisant de l'élément nomJournal un attribut de l'élément infosPublication et en lui donnant comme valeur par défaut Feuille de Chou ;
3. Nous allons maintenant définir nos propres types de données, en les dérivant par rapport aux types de base.
- Définir un type simple nommé 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.
- Créer un type complexe typeBiblio, reprenant la déclaration de l'élément racine, et l'affecter à l'élément racine.
Remarque :
1. Dans cet exercice, utilisez la Référence à un élément global.
Un élément global, c'est-à-dire dont la déclaration par xsd:element est enfant direct de l'élément xsd:schema, peut être utilisé par des définitions de type. Ces définitions de type se contentent de faire référence (en utilisant mot clé ref) à l'élément global de la façon suivante. Ce mécanisme permet une certaine modularité dans l'écriture des schémas puisqu'il évite des répétitions.
Exemple :
<!-- Déclaration globale de l'élément title --> <xsd:element name="title" type="xsd:string"/> ... <!-- Définition d'un type global ou local --> <xsd:complexType ... > ... <!-- Utilisation de l'élément title --> <xsd:element ref="title"/> ... </xsd:complexType>
2. Utiliser les Indicateurs d'occurrence dans la déclaration des éléments qui les nécessitent.
FAQ
1. Qu'est-ce qu'un schéma XML (XSD) ?
Un schéma XML (XSD) est un fichier qui définit la structure et les contraintes d'un document XML. Il permet de valider que les documents XML respectent une certaine structure et des règles spécifiques.
2. Comment créer un type simple dans un schéma XML ?
Pour créer un type simple dans un schéma XML, vous utilisez l'élément <xsd:simpleType> et spécifiez les restrictions ou les facettes nécessaires pour définir le type.
3. Qu'est-ce qu'un élément global dans un schéma XML ?
Un élément global dans un schéma XML est un élément dont la déclaration est directement enfant de l'élément <xsd:schema>. Il peut être référencé par d'autres définitions de type, ce qui permet une modularité et évite les répétitions.