7.5 Quelques notions sur XML Schema



Documents pareils
XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Master d Informatique Corrigé du partiel novembre 2010

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Web Application Models

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

XML : documents et outils

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Plateforme PAYZEN. Définition de Web-services

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Accès à l'information XML par des requêtes XQuery au travers de son XSchema

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

Outils logiciels pour l'ingénierie documentaire

Guide de démarrage Tradedoubler. Manuel éditeur / affilié

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

Programmation Web Avancée Introduction aux services Web

EJBCA PKI Open Source

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

Préparation d'un fichier XML pour le reporting des activités avec l'étranger concernant les services, les transferts et les marchandises. Ed.

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

XMLInvoice Standard de facturation dans le domaine de la santé publique suisse

Site web de Support : Manuel utilisateur

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Programmation Internet Cours 4

Bibliothèque numérique de l enssib

Gestion de contenu d un site web avec TYPO3 Manuel de l administrateur

L architecture des services Web

S y m M a i l i n g. S o l u t i o n d e - m a i l i n g. SymMailing est un outil professionnel de création et de gestion de campagnes d ing.

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Migration a Outlook Guide

I/ Se connecter sur le réseau Scribe :

Créer le schéma relationnel d une base de données ACCESS

Paris Airports - Web API Airports Path finding

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Algorithmique & programmation

BD et XML : Exercices

Mise à jour de la base de données des marques nationales du tourisme

Les Services Web. Jean-Pierre BORG EFORT

SOAP Concepts Application à Glassfish

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

MISE EN PLACE DES PRÉLÈVEMENTS SEPA PAR LES REMETTANTS HORS CLIENTÈLE DFT

Cúram JMX - Guide de configuration

Créer une base de données vidéo sans programmation (avec Drupal)

XML avec Oracle. Par Christian Soutou. Maître de conférences, IUT de Blagnac, Université de Toulouse Le Mirail

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Design et implémentation d un logiciel de validation et de génération de configurations réseaux

Définition des Webservices Ordre de paiement par . Version 1.0

Web Services : Beyond the peer-to-peer architecture

Avertissement : ceci est un corrigé indicatif qui n engage que son auteur

Référencement et visibilité sur Internet Comment améliorer la visibilité de son site internet sur les principaux moteurs de recherche?

PROCEDURE D'APPEL DU WEBSERVICE PERMETTANT DE CONTROLER LES FICHIERS XML-SANDRE Version 4

4. SERVICES WEB REST 46

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT

SEMANTIQUE DES MODELES D'ECHANGE DE DONNEES

Systèmes d'informations historique et mutations

Tutoriel d installation de Hibernate avec Eclipse

OpenSi Connect pour Magento

GPI Gestion pédagogique intégrée

GUIDE DE L UTILISATEUR

Import XML HAL et HAL- Inria

Google Merchant Center

Modules Prestashop - ExportCatalogue / EXPORT IMPORT POUR MODIFICATIONS EN MASSE DANS PRESTASHOP VERSION Optim'Informatique

Génie Logiciel avec Ada. 4 février 2013

Vincent Augusto

Présentation du langage et premières fonctions

MISE EN PLACE DU CONNECTEUR SACOCHE

2 S I M 1 P H O N E G U I D E U T I L I S A T E U R. Guide d utilisation E-commerce / Prestashop

A. Architecture du serveur Tomcat 6

Réseaux. 1 Généralités. E. Jeandel

GOOGLE ANALYTICS. Ajout du code de suivi sur PowerBoutique. Ajout du code de suivi Google Analytics. Page 1 / 7 TUTO / GOOGLE ANALYTICS

Petit memo rapide pour vous guider dans la gestion des engagements de vos compétitions FFM

Gestion Électronique de Documents et XML. Master 2 TSM

Inscriptions en ligne

Les architectures 3-tiers Partie I : les applications WEB

C RÉATION DE PDF (1) Cours SEM 205 Mieux utiliser le format PDF

Conception et construction d entrepôts en XML

Plate-forme de tests des fichiers XML virements SEPA et prélèvements SEPA. Guide d'utilisation

Formation : WEbMaster

L'essentiel de XML. Cours XML. Olivier Carton

Application de lecture de carte SESAM-Vitale Jeebop

Programmation des Applications Réparties. Parsers XML DOM et SAX

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : URGENTE NON URGENTE TEMPORAIRE DEFINITIVE

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

A QUOI SERVENT LES BASES DE DONNÉES?

.NET - Classe de Log

Problème d ordonnancement de véhicules en variables booléennes

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

Mise en place du Module Magento ShoppingFlux

Le serveur communication unifiée IceWarp. Guide de mise à jour. Version 10. Février IceWarp France / DARNIS Informatique

API HTTP DOCUMENTATION TECHNIQUE PLATEFORME SAAS D'ENVOI DE SMS. Version Mise à jour : 3 juillet 2015

bbc Launch Pad Juillet 2011 Version 10.0

Transcription:

7.5 Quelques notions sur XML Schema WMK-schema est une autre façon de spécifier des données XML (une autre façon d écrire un schéma). N.B. : Un XML-schéma est lui-même un document XML! Mais il spécifie le format d autres documents XML (ceux qui sont valides par rapport à lui) 112

Preliminaires Un espace de noms XML est un standard W3C pour attribuer une signification précise à des mots qui apparaissent dans un document XML Tout type atomique pre-défini XML appartient à un espace de noms. On a : L espace de noms de XML-schema ; pour indiquer que la signification de toto doit être cherchée dans ce vocabulaire : xsd :toto. L espace de noms de XQuery ; pour indiquer que la signification de toto doit être cherchée dans ce vocabulaire : xdt :toto. 113

Un fichier Schema XML est lui-même un document XML. Il commence par un prologue, et a un élément racine. <?xml version= 1.0 encoding= ISO-8859-1?> <xsd:schema xmlns:xsd= http://ww3.w3.org/2000:10/xmlschema > <!-- declarations d elements, d attributs et de types ici --> </xsd:schema> Racine : l élément xsd :schema. Ici, on dit que l on est en tran d écrire un schéma. En fait, le mot schema a une signification précise dans l espace de noms XML (xmlns) indiqué par le vocabulaire qui se trouve à l url : http ://ww3.w3.org/2000 :10/XMLSchema 114

Déclaration d éléments Utilisation de la balise xsd :element. Par ex : <?xml version= 1.0 encoding= ISO-8859-1?> <xsd:schema xmlns:xsd= http://ww3.w3.org/2000:10/xmlschema > <xsd:element name= contacts > <xsd:complextype> <!-- declaration de type ici --> </xsd:complextype> </xsd:element> </xsd:schema> Tout élement est typé ; contacts a un type complexe : il pourra conténir des éléments enfants et/ou des attributs. Il faudra donc définir sa structure. 115

Déclaration d attributs Utilisation de la balise xsd :attribut. Tout attribut a forcement un type simple. <?xml version= 1.O encoding= ISO-8859-1?> <xsd:schema xmlns:xsd= http://ww3.w3.org/2000:10/xmlschema > <xsd:element name= contacts > <xsd:complextype> <!-- declaration du modèle de contenu,ici : les sous-éléments, etc. --> <xsd:attribute name= maj type= xsd:date /> </xsd:complextype> </xsd:element> </xsd:schema> NB : Attribut maj : date de la dernière mise à jour de la liste des contacts. xsd :date : type simple XML. 116

Un attribut peut être déclaré : obligatoire : required, optionnel : optional, ayant une valeur par défaut. Par ex. <xsd :attribute name= maj type= xsd :date use= optional defaut= 2009-03-30 /> 117

Un élément peut être de type complexe car il est constitué de plusieurs éléments, organisés sous forme de suite, par exemple. <xsd :element name="livre"> <xsd :complextype> <xsd :sequence> <xsd :element name= auteur type= xsd :string </xsd :element> <xsd :element name= pages type= xsd :positiveinteger </xsd :element> </xsd :sequence> </xsd :complextype> </xsd :element> auteur et pages ont des types simples et pre-définis. 118

Types Simples de XML Schema Il en a beaucoup. Par ex., string, booleen, positiveinteger, cdata, date, ID, IDREF, idrefs, NMTOKEN (une lettre, une chiffre, un point, un tiré, une virgule..) Les types listes sont des suites de types simples. XML Schema possède 3 types de listes integrées : 1. NMTOKENS : suites finites et non-vides de NMTOKEN separés par un espace. 2. ENTITY : notion XML un peu plus complexe que ELEMENT. Passons. 3. IDREFS (déjà vu avec les DTD) 119

Types Complexes Les sequences, déjà vues : <xsd :complextype> <xsd :sequence> <xsd :element name = nom type =sxd :string /> <xsd :element name = prenom type =xsd :string /> <xsd :element name = datenaissance type =xsd :date /> <xsd :element name = adresse type =sxd :string /> <xsd :element name = e-mail type =sxd :string /> </xsd :sequence> </xsd :complextype> NB : date, string : types atomiques de XML Schema 120

Types Complexes, Suite Modifier la déclaration de type précédente en stipulant que l on doit indiquer soit l adresse d une personne soit son adresse mail : utiliser xsd :choice <xsd :complextype> <xsd :sequence> <xsd :element name = nom type =sxd :string /> <xsd :element name = prenom type =sxd :string /> <xsd :element name = datenaissance type =sxd :date /> <xsd :choice > <xsd :element name = adresse type =sxd :string /> <xsd :element name = e-mail type =sxd :string /> </xsd :choice > </xsd :sequence> </xsd :complextype> 121

Types Complexes, Suite Vraie nouveauté par rapport aux DTD. A différence que pour les séquences, avec all on peut indiquer que des éléments composants (qui doivent apparaître une fois ou pas du tout), peuvent apparaître dans n importe quel ordre.. <xsd :complextype> <xsd :all> <xsd :element name = nom type =sxd :string /> <xsd :element name = prenom type =sxd :string /> <xsd :element name = datenaissance type =sxd :date /> <xsd :element name = adresse type =sxd :string /> <xsd :element name = e-mail type =sxd :string /> </xsd :all> </xsd :complextype> Chacun de ses éléments peut apparaître une fois ou pas de tout : comparer à? dans le DTD, mais l ordre des éléments n a pas d importance ( DTD!). 122