RecentChanges
|
FindPage
|
LikePages
|
BackLinks
View Source:
TmeXschema
Note:
This page has been locked and cannot be edited.
!!!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 |http://www-master.ufr-info-p6.jussieu.fr/2006/Ext/naacke/bdweb2008/extra/doc/schema/regular_expression_for_xschema.pdf] !!Documentation !Les expressions de chemin : XPath La [spécification XPath| http://www-bd.lip6.fr/ens/doc/mabd/doc/xpath/xpath-fr.html] traduite en français, un [tutoriel XPath| http://www-bd.lip6.fr/ens/doc/mabd/doc/xpath/tutorial/General/examples.html]. ! XML Schema * Voir un [tutoriel Xschema | http://www-ari.ufr-info-p6.jussieu.fr/OUTILS/documentation/doc/oracle/xml/doc/xml/PUB-SCHEMA-FR.pdf] et un [autre tutoriel | http://www-bd.lip6.fr/ens/doc/mabd/doc/schema/Tutoriel XML Schema.pdf]. * en français : l'[introduction| http://www-bd.lip6.fr/ens/doc/mabd/doc/schema/XML Schema tome 0 Introduction.htm] aux schémas XML et la [spécification XShema|http://www-bd.lip6.fr/ens/doc/mabd/doc/schema/XML Schema Part 1 Structures.htm]. * 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| http://www.w3.org/2001/XMLSchema.xsd] * en anglais: un [tutoriel rédigé par Zvon | http://www-bd.lip6.fr/ens/doc/mabd/doc/schema/tutorial/Output/series.html] , un autre [tutoriel rédigé par w3schools|http://www.w3schools.com/schema/], un [manuel de référence|http://www-bd.lip6.fr/ens/doc/mabd/doc/schema/reference/Output/Schema/index.html], une carte de référence rapide ([pdf| http://www-bd.lip6.fr/ens/doc/mabd/doc/schema/SchemaStructuresQR-2.pdf], 2 pages). * en anglais : [expressions régulières pour les patterns XSchema | http://www-bd.lip6.fr/ens/doc/mabd/doc/schema/regular_expression_for_xschema.pdf] ( ou [html|http://infohost.nmt.edu/tcc/help/pubs/rnc/xsd.html#xsd-regex]) !Outils * Voir la liste des [outils | http://www.w3.org/XML/Schema] pour éditer et valider un schéma. * [Liquid XML Studio|http://www.liquid-technologies.com/Product%20XmlStudio.aspx] (version gratuite) ---- [XML], [TME DTD|TmeDtd], [Les Travaux Dirigés|LesTravauxDirigés], [Accueil|HomePage]