XML Schéma. XML Schema. Types Simples. Restrictions de Types Simples. Séparation entre types et éléménts (grammaire d arbre à types uniques)



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

Master d Informatique Corrigé du partiel novembre 2010

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

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

Web Application Models

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

BD et XML : Exercices

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

ech-0148 Motifs d annonce Entreprises - taxes de domaine

Consolidation d un modèle conceptuel de données de Master Data Management

Release note. DB2P LPC/Autres LPC v1.19 est disponible en Simulation et en Production DB2P

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

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

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

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

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

Perl Orienté Objet BioPerl There is more than one way to do it

OpenPaaS Le réseau social d'entreprise

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

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

La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1

Arguments d un programme

modules & compilation

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

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

Optimisation des échanges et traitements XML

API FTP SMSENVOI V1.1

UML. Diagrammes de classes (suite) Delphine Longuet.

Chapitre VI- La validation de la composition.

OpenSi Connect pour Magento

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

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

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

OCL - Object Constraint Language

Big Data et Graphes : Quelques pistes de recherche

L architecture des services Web

Introduction aux «Services Web»

Approche Contract First

Gestion Électronique de Documents et XML. Master 2 TSM

I4 : Bases de Données

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

La gestion des protocoles HTTP, FTP, SOAP, etc.

Cúram JMX - Guide de configuration

Utilisation d objets : String et ArrayList

F. Barthélemy. 17 mai 2005

Création d objet imbriqué sous PowerShell.

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

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

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

.NET - Classe de Log

AWS avancé. Surveiller votre utilisation d EC2

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Cours 1 : La compilation

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

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

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

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

Paris Airports - Web API Airports Path finding

Application web de gestion de comptes en banques

Document de spécification du logiciel VALPO Définition du format des fichiers des

La chambre du conseil de la Cour d'appel du Grand-Duché de Luxembourg a rendu le douze février deux mille quatorze l'arrêt qui suit:

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

DMP1 DSFT des Interfaces DMP des LPS Annexe : complément de spécification sur l impression des documents à remettre au patient

Big Data et Graphes : Quelques pistes de recherche

Vulnérabilités et sécurisation des applications Web

Projet de programmation (IK3) : TP n 1 Correction

CONSERVATOIRE NATIONAL DES ARTS ET METIERS. Centre Régional Associé de Nantes. Mémoire présenté en vue d obtenir l examen probatoire en informatique

La base de données XML exist. A. Belaïd

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

Plateforme PAYZEN. Définition de Web-services

La base de données dans ArtemiS SUITE

Chapitre 2. Classes et objets

Développement d un interpréteur OCL pour une machine virtuelle UML.

Installation et Administration de SolidWorks Electrical CadWare Systems

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

<?xml version="1.0" encoding="iso " standalone="yes"?>

Eole - gestion des dictionnaires personnalisés

Bases de données cours 1

IPFIX (Internet Protocol Information export)

Université de Bangui. Modélisons en UML

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

3 Octobre Les Communautés MS

Programmation avec des objets : Cours 7. Menu du jour

Construire une application marketing Facebook sur la plateforme Windows Azure

équipement radio Procédure

Open Source Job Scheduler

Sécurité. Objectifs Gestion de PKI Signature Cryptage Web Service Security

Architecture Orientée Service, JSON et API REST

Annotation collaborative en ligne de l'archive manuscrite

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Programmation Web Avancée Introduction aux services Web

Application de lecture de carte SESAM-Vitale Jeebop

Web Services : Beyond the peer-to-peer architecture

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

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Transcription:

26 27 XML Schéma Séparation entre types et éléménts (grammaire d arbre à types uniques) Types complexes, abstraits et anonymes Sous-typage par extension et restriction XML Schema Contraintes d intégrité (clés, clés étrangères) Un schéma XML est lui même un document XML. Types Simples 28 Restrictions de Types Simples 29 DTD: un seul type simple (#PCDATA) et 10 types d attributs Schéma XML: 43 types simples xsd:string, xsd:byte,... xsd:integer, xsd:long, xsd:float, xsd:double,... xsd:boolean xsd:time, xsd:timeduration, xsd:date, xsd:year, xsd:month,... xsd:language, xsd:urireference xsd:id, xsd:idref, xsd:nmtoken,... On peut restreindre les types simples par leur longueur (length, minlength, maxlength) (chaînes de caractères ou listes) par des motifs (chaînes de caractères), par énumération, par des intervalles (maxinclusive, maxexclusive, mininclusive, minexclusive) et autres (precision, scale, encoding, period, duration).

Restriction de Types Simples par Motifs Numéro de téléphone: +33-(0)-1-34-45-67-89 DTD: #PCDATA Schéma XML: Similaire aux expressions régulières de Perl <xsd:simpletype name= numtél > <xsd:restriction base= xsd:string > <xsd:pattern value= +33-(0)-\d(-\d{2}){3} /> </xsd:restriction> 30 Listes de Valeurs de Type Simple Une liste de numéros de téléphone : <xsd:simpletype name= listenumtél > <xsd:list itemtype= numtél /> Une liste de cinq numéros de téléphone (restriction du type précédent) : <xsd:simpletype name= cinqnumtél > <xsd:restriction base= listnumtél > <xsd:length value= 5 /> </xsd:restriction> 31 Union de Types Simples Un numéro de téléphone Européen est soit un numéro français, un numéro allement,... Grammaire d arbres : euronumtél -> franctél gertél beltél... Schéma : <xsd:simpletype name= euronumtél > <xsd:union membertypes= franctél gertél beltél... /> 32 Eléments Déclaration d éléments: <xsd:element name type contraintes [value]/> ou <xsd:element ref contraintes/> Contraintes: minoccurs, maxoccurs, fixed Exemple: <xsd:element name= nom type= xsd:string minoccurs= 0 maxoccurs= 2 /> 33

Attributs Déclaration d attributs: <xsd:attribute name use [value]/> Use : required, optional, fixed, prohibited Exemple: <xsd:attribute name= langue type= xsd:language optional= true /> 34 Types Complexes Trois constructeurs de type: xsd:sequence: séquence ordonnée d éléménts xsd:all: séquence non-ordonnée d éléménts xsd:choice: choix d éléménts (DTD: ) xsd:group: regroupement (DTD: (...) ). 35 Type Complexe: Exemple Modèle de contenu DTD: (titre, année) 36 Contenu Mélangé (mixed) 37 XML Schéma: <xsd:complextype name= FilmType > <xsd:sequence> <xsd:element name= titre type= xsd:string /> <xsd:element name= année type= xsd:year /> </xsd:sequence> Grammaire : FilmType -> Titre Année Titre -> titre String Année -> année xsd:year DTD: (#PCDATA cinéma film)* Schéma XML : <xsd:complextype name= OfficielType mixed= true > <xsd:choice minoccurs= 0 maxoccurs= unbounded > <xsd:element name= cinema type= CinemaType /> <xsd:element name= film type= FilmType /> </xsd:choice>

Groupes: Exemple 38 Valeurs Nulles 39 DTD: ((B C)*,D)+ XML schéma: <xsd:complextype> <xsd:group minoccurs= 1 maxoccurs= unbounded > <xsd:sequence> <xsd:group minoccurs= 0 maxoccurs= unbounded > <xsd:choice> <xsd:element name= B xsd:type= xsd:string /> <xsd:element name= C xsd:type= xsd:string /> </xsd:choice> </xsd:sequence> </xsd:group> <xsd:complextype> On distingue entre les éléments vides et les éléments avec un contenu inconnu : Schéma XML: <xsd:element name= heurefilm type= xsd:time nullable= true /> Élément XML: <heurefilm xsi:null= true /> xsi:null est défini dans l espace de noms pour des instances (http://www.w3.org/2000/10/xmlschema-instance). Extension de Types Complexes Cinémas avec un site Web et un pays (fichier webcountry.xsd): <complextype name= cybercinematype > <complexcontent> <extension base= officiel:cinematype > <sequence> <element name= url type= xsd:string /> </sequence> </extension> </complexcontent> Grammaire d abres : CybercinemaType -> Nom Adresse (Seance)* Url, Nom -> nom String, Url -> url String,... 40 Extension de Types Complexes Chaque occurrence de CinemaType dans le modèle de contenu d une règle est remplacée par (CinemaType CybercinemaType) Le remplacement automatique peut être empeché par les attributs block et final. Ces deux attributs peuvent prendre comme valeurs #all ou une liste contenant les valeurs restriction, extension et/ou substitution : <xsd:complextype name= CinemaType block= restriction >... 41

Utilisation de Types Étendus On indique explicitement le type (grammaire à types uniques) : <cinema xsi:type= CybercinemaType > <nom>st André des Arts</nom> <officiel:adresse> <ville> Paris </ville> <rue> rue St. André des Arts </rue> <numéro> 13 </numéro> </officiel:adresse> <url>http://www.st-andré.com</url> </cinema> 42 Restriction de Types Complexes On définit un type spécifique pour les cinémas avec une à trois séances (fichier seance.xsd): <complextype name= séanceobligtype > <complexcontent> <restriction base= cinematype > <complextype content= elementonly > <sequence minoccurs= 1 maxoccurs= 3 > <element ref= seance /> </sequence> <element name= nom type= string /> <element ref= adresse /> </complexcontent> 43 Valeur unique 44 Clés et Références 45 L attribut film_id d un film doit être unique: <unique name= toto > <selector>film</selector> <field>@film_id</field> </unique> Les valeurs des element <selector> et <field> sont des expressions XPath. La valeur de <field> doit être unique à l intérieur de chaque élément sélectionné par le sélecteur. Une clé est unique (filmcli = clé): <key name= filmclé > <selector>film</selector> <field>@film_id</field> </key> Référence (filmref = clé etrangère): <keyref name= filmref refer= filmclé > <selector>séance</selector> <field>@ref_film</field> </keyref>