TME XML (2) : XSchema
Préparation
Lire la documentation avant la séance de TME.
Prérequis : votre environnement doit être configuré. Votre fichier /.bash_profile doit contenir la ligne
source /Infos/bd/config10
commande | description |
cd | aller dans votre répertoire $HOME |
tar zxvf $BD_TOOL/schema.tgz | installer l'archive dans votre répertoire principal |
cd xschema | aller dans votre répertoire de travail |
emacs BookStore.xsd & | éditer le fichier contenant le schéma |
File>Open BookStore.xml & | éditer le fichier contenant les données |
Validation
La validation s'effectue en deux étapes :
1) La première étape consiste à vérifier que le schéma est bien formé et valide (ie. qu'il respecte la norme du langage XSchema). Valider le schéma avec la commande : valide fichier_schema.xsd. Exemple:
- valide BookStore.xsd
2) La deuxième étape consiste à vérifier que les données XML respectent le schéma auquel elles sont associées. Valider les données avec la commande valide et l'option "-s" : valide -s fichier_de_données.xml . Exemple:
- valide -s BookStore.xml
Remarque: dans l'étape 1, le schéma est considéré comme un document contenant des méta-données XML qui doivent respecter la DTD définie dans le fichier XMLSchema.dtd.
Exercice
- Ex 5 BookStore
Ex 4 Schéma du guide touristique. Ajouter la contrainte suivante:
- un restaurant ne peut pas avoir 2 menus avec le même nom
Facultatif :
- Ex 6 Juicer
- Ex 3 Stock de pièces : Ecrire le schéma stock1.xsd du stock de pièces de base et de pièces composites.
Questions/réponses fréquentes
- Quelle est la racine d'un schema? L'élément schema
Le type d'un élément est-il simple ou complexe ?
- un élément ayant au moins un attribut OU un sous élément est de type complexe (complexType)
- sinon il est de type simple (simpleType)
A quel endroit définir les attributs d'un élément ?
- directement sous l'élément complexType, après la définition du contenu s'il y en a une.
Les attributs targetNamespace, xmlns et elementFormDefault de l'élément schema sont-ils obligatoires ?
- Non
Quelle est la syntaxe des expressions régulières pour les patterns ?
- voir ici
Documentation
Les expressions de chemin : XPath
La spécification XPath traduite en français, un tutoriel XPath.
XML Schema
- Voir un tutoriel Xschema et un autre tutoriel.
- en français : l'introduction aux schémas XML et la spécification XShema.
- Le schéma de XML Schéma (ou méta-schema) est une description de XML Schema, écrite en XML Schema: voir le fichier XMLSchema.xsd
- en anglais: un tutoriel rédigé par Zvon , un autre tutoriel rédigé par w3schools, un manuel de référence, une carte de référence rapide (pdf, 2 pages).
- en anglais : expressions régulières pour les patterns XSchema ( ou html)
Outils
- Voir la liste des outils pour éditer et valider un schéma.
- Liquid XML Studio (version gratuite)