ACCARY-BARBIER / CNAM - Cycle C - 2005-2006 1 1ère partie : Technologies XML  CHAPITRE 1 : XML et DTD  CHAPITRE 2 : Schémas XML  CHAPITRE 3 : XPath.

Slides:



Advertisements
Présentations similaires
Le struts validator – framework de validation
Advertisements

XML.
XML eXtensible Markup Language
Transformation de documents XML
DTD Sylvain Salvati
1 Cours 5 Introduction aux schémas XML Éric Laporte Institut Gaspard-Monge Université Paris-Est Marne-la-Vallée.
Cours MIAGE Henry Boccon-Gibod1 XML, langage de structuration Modélisation structurelle en XML de Messages et de Documents.
Cours MIAGE Henry Boccon-Gibod 1 Extensible Mark up Language Modélisation structurelle de Messages e t de Documents en XML XML Schema.
Les espaces de nommage XML par Philippe Poulard 1
Cours n° 8 Conception et Programmation à Objets
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
XML schema Objectifs Valider un doc. XML pour des contraintes syntaxiques Documenter un type de documents XML caractérisé par des contraintes Encadrer.
Cours 1.2 : Introduction au langage XML
le langage les éléments
Le typage orienté objet pour les données XML
Nicolas Singer Maître de conférence, université Champollion
TP 3-4 BD21.
Leçon 3 : Héritage IUP 2 Génie Informatique
Introduction à la POO: Les classes vs les objets
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
RDF(S)
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
XML: Syntaxe XML, DTD et Schémas
Introduction au XML Choopan Rattanapoka Université Louis-Pasteur, Starsbourg.
Xpath XML Path language par Yves Bekkers
<XML/> Bruno GRILHERES (EADS CASSIDIAN)
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
Initiation à XML Sebti Foufou.
8 - XML Cours XML.
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
Le langage XML.
Programmation objet La base.
Les Schémas XML Le standard W3C.
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Seminaire XML B. Rothenburger A. Nouvel XML XSD XSL IRIT Toulouse Disponible Consultable dans l'équipe 21...
1 Schémas XML - cours 1 Éric Laporte Institut Gaspard-Monge Université Paris-Est Marne-la-Vallée.
DEFINITION DES DONNEES : schéma conceptuel. Schéma conceptuel instructiondescription CREATE TABLEcréation d'une relation ALTER TABLEmodification de la.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
II. Conception et Manipulation des Documents 1. Introduction 2. DTD 3. Schéma 4. Outils.
2 Processus de conception de BD
Soutenance du mémoire de synthèse
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
1. Introduction 2. DTD 3. Schémas
XSD XML Schema Definition Année universitaire UP web.
Page 1 © Expert-IT s.a. - Développer des projets en XML Pratique.
Document Type Definition (DTD) Plan 2.1Introduction 2.2Déclaration de Document Type 2.3Déclaration d’élément Type 2.3.1Séquences, Choix, indicateurs d’Occurrence.
eXtensible Markup Language. Généralités sur le XML.
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Introduction à MathML Par Katia Larrivée UQO Le 18 mars 2004.
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Architectures Orientées Services Module 1 Rappels sur XML,
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Comprendre le SGBDR Microsoft Access – partie 2
LDAP (Lightweight Directory Access Protocol)
Le langage SQL.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
Les calques Les Template (modèles) Les Comportements Les scénarios Les formulaires Les CSS Le serveur Web de l’UTC Présentation.
XML les données réellement portables La nécessité d’un format de données universel et lisible se faisait sentir depuis longtemps, aujourd’hui avec le développement.
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Jean Vieille Research community Consulting group
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Extensions à la spécification XML Le "plus petit cercle" XML Yves Bekkers Mise à jour : 9 octobre 2003.
Schéma XML - Y. Bekkers1 Les Schémas XML Richesse des types Yves Bekkers Mise à jour : 31 mai 2016.
DTD - Y. Bekkers - IFSIC1 DTD Document Type Definition Yves Bekkers Mise à jour : 31 mai 2016.
Transcription de la présentation:

ACCARY-BARBIER / CNAM - Cycle C ère partie : Technologies XML  CHAPITRE 1 : XML et DTD  CHAPITRE 2 : Schémas XML  CHAPITRE 3 : XPath et XSLT  CHAPITRE 4 : Applications XML

ACCARY-BARBIER / CNAM - Cycle C Chapitre 2 : Schémas XML  1. Introduction  1.1. Pourquoi XML-Schéma  1.2. Syntaxe des Schémas  2. Typage des éléments et attributs  2.1. Types simples  2.2. Types complexes  2.3. Dérivation de types  3. Validation par schémas  En savoir plus…

ACCARY-BARBIER / CNAM - Cycle C Limitations des DTD  Les DTDs ont des limitations :  Syntaxe particulière  Pas la même que celle du balisage des instances  Type de données limités : PCDATA  Comment imposer qu'un élément soit un entier entre 0 et 100  Pas de définition précise du nombre d'occurrence  Constructeurs (, et | ) et indicateurs ( *, + et ? ) ne suffisent pas  Possibilités de réutilisations très limitées (uniquement grâce aux ENTITIES)  Pas d’héritage

ACCARY-BARBIER / CNAM - Cycle C Objectif de XML-Schémas  Développer un mécanisme de schéma (au sens BD) pour exprimer des contraintes sur un type de document  Contraintes structurales  Ordre, occurrence des éléments, attributs (comme les DTD)  En + : intégration des espaces de noms, contraintes incomplètes, héritage  Typage des données : chaînes de caractères, entiers, dates, données binaires, uri, etc.  Mode d’expression des schémas : structure d’éléments et attributs, syntaxe XML  Validation des instances par rapport aux schémas

ACCARY-BARBIER / CNAM - Cycle C Avantages de Schémas sur les DTDs  Typage des données  Plusieurs types de données  Possibilité de créer des types  Même syntaxe que les documents  On peut parser les schémas avec les parseurs XML  On peut transformer les schémas avec XSLT  Schémas orientés objet  On peut étendre ou restreindre un type  Schémas extensibles comme les documents XML  On peut réutiliser un schémas dans d'autres schémas  On peut créer son propre type de données sur la base d'un type standard  On peut référencer plusieurs schémas dans le même document

ACCARY-BARBIER / CNAM - Cycle C Histoire  Les schémas XML ont été créés au W3C dans l’activité XML  octobre 1998 : création du XML Schema WG  février 1999 : publication de la note "XML Schema Requirements"  mars 1999 : publication des premiers drafts  mai 2001 : recommandation XML Schema 1.0 en 3 documents  Primer  Structures  Datatypes  juillet 2002 : nouveau charter (maintenance)

ACCARY-BARBIER / CNAM - Cycle C Chapitre 2 : Schémas XML  1. Introduction  1.1. Pourquoi XML-Schéma  1.2. Syntaxe des Schémas  2. Typage des éléments et attributs  2.1. Types simples  2.2. Types complexes  2.3. Dérivation de types  3. Validation par schémas  En savoir plus…

ACCARY-BARBIER / CNAM - Cycle C Structure d’un schéma XML  Un schéma XML est un document XML  Elément racine  Ses éléments de haut niveau servent essentiellement à déclarer  Les éléments du type de document défini  Les types  Les notations  Les éléments subordonnés servent essentiellement à déclarer  Les modèles de contenus  Les attributs applicables aux éléments

ACCARY-BARBIER / CNAM - Cycle C Exemple de schéma XML  DTD  Schéma XML <attribute name="timestamp" type="date" minOccurs="1"/> D’après H. Thomson

ACCARY-BARBIER / CNAM - Cycle C Caractéristiques des schémas  Distinction entre définition de types et définition des éléments qui peuvent apparaître dans les instances  Les éléments ont un nom et un type  Types simples et complexes  Mécanismes de construction de types  Classes d’équivalence  Construction modulaire  Mécanismes d’extension  Facilités de documentation des schémas (via oXygen)

ACCARY-BARBIER / CNAM - Cycle C Déclaration d'élément   nom : permet de nommer l'élément  type : donne le type de l'élément  Simple,  Complexe

ACCARY-BARBIER / CNAM - Cycle C Déclaration d’attributs : principe   nom : permet de nommer l'attribut  type : donne le type de l'attribut  Simple uniquement  Déclaration après les déclarations de type complexe

ACCARY-BARBIER / CNAM - Cycle C Attributs : indicateurs d'occurrences  Déclarations d’attributs  use : contrôle l’occurrence  required,  optional,  prohibited  Default : donne la valeur par défaut  Doit être du type déclaré type_attr  Fixed (facultatif) : fixe la valeur de l'attribut  Les concepts de valeur fixe et de valeur par défaut sont exclusifs

ACCARY-BARBIER / CNAM - Cycle C Groupe d'attributs

ACCARY-BARBIER / CNAM - Cycle C Chapitre 2 : Schémas XML  1. Introduction  1.1. Pourquoi XML-Schéma  1.2. Syntaxe des Schémas  2. Typage des éléments et attributs  2.1. Types simples  2.2. Types complexes  2.3. Dérivation de types  3. Validation par schémas  En savoir plus…

ACCARY-BARBIER / CNAM - Cycle C Types  Ensemble de contraintes sur les contenus d’élément et les valeurs d’attribut  Types simples : contraintes sur les valeurs des chaînes de caractères  Pour les éléments qui ne contiennent que du contenu de base (texte, nombres, dates, etc.)  Types complexes : contraintes sur les éléments qui contiennent d’autres éléments et/ou ont des attributs  Les attributs sont toujours de type simple.

ACCARY-BARBIER / CNAM - Cycle C Types simples  Types des éléments qui ne contiennent pas d’autres éléments ou types des attributs  Les types simples sont prédéfinis ou dérivés des types prédéfinis  Un certain nombre de types simples sont prédéfinis :  Chaîne de caractères, nombre décimal, date, entier positif, etc.  string, normalizedString, token, byte, unsignedByte, base64Binary, hexBinary, integer, positiveInteger, negativeInteger, nonNegativeInteger, nonPositiveInteger, int, unsignedInt, long, unsignedLong, short, unsignedShort, decimal, float, double, boolean, time, dateTime, duration, date, gMonth, gYear, gYearMonth, gDay, gMonthDay, Name, QName, NCName, anyURI, language, ID, IDREF, IDREFS, ENTITY, ENTITIES, NOTATION, NMTOKEN, NMTOKENS

ACCARY-BARBIER / CNAM - Cycle C Hiérarchie des types simples prédéfinis

ACCARY-BARBIER / CNAM - Cycle C Chapitre 2 : Schémas XML  1. Introduction  1.1. Pourquoi XML-Schéma  1.2. Syntaxe des Schémas  2. Typage des éléments et attributs  2.1. Types simples  2.2. Types complexes  2.3. Dérivation de types  3. Validation par schémas  En savoir plus…

ACCARY-BARBIER / CNAM - Cycle C Types complexes  Types des éléments qui contiennent d’autres éléments et/ou ont des attributs  Les types complexes sont déclarés par l’élément complexType qui contient  Des déclarations d’éléments contenus  Déclarations directes  Déclarations par référence à un autre élément  Des déclarations d’attributs  Les éléments sont déclarés par l’élément element  Les attributs sont déclarés par l’élément attribute

ACCARY-BARBIER / CNAM - Cycle C Séquences, ensembles et choix  Trois éléments pour exprimer les modèles de contenu :  Séquence ( sequence ) : les éléments déclarés par les fils doivent apparaître dans l’instance dans le même ordre que dans le schéma  Ensemble sans ordre ( all ) : les éléments déclarés par les fils peuvent apparaître au plus une fois dans l’instance, dans un ordre quelconque. all doit être le seul fils d’un modèle de contenu  Choix ( choice ) : un seul élément déclaré par un des fils peut apparaître dans l’instance  Un élément offre une facilité d’écriture :  Groupe ( group ) : équivalent des entités paramètres de XML (interdit dans all )  Les attributs minOccurs et maxOccurs s’appliquent aux éléments sequence, all et choice

ACCARY-BARBIER / CNAM - Cycle C Séquence d'éléments, groupe et choix

ACCARY-BARBIER / CNAM - Cycle C Elément All

ACCARY-BARBIER / CNAM - Cycle C Contraintes d'occurrences et de valeurs  Le nombre d’occurrences est contrôlé par les attributs minOccurs et maxOccurs  Valeurs possibles :  minOccurs : entier positif ou nul  maxOccurs : entier positif ou nul, unbounded  Valeurs par défaut des deux attributs : 1 (une occurrence obligatoire si les deux attributs sont omis)  Les valeurs par défaut et valeur fixe sont définies par les attributs default et fixed  default spécifie la valeur à considérer si l’élément est vide dans l’instance  Aucune action si l’élément est absent dans l’instance

ACCARY-BARBIER / CNAM - Cycle C Contenu mixte  Elément à contenu mixte :  Elément qui contient au même niveau :  Eléments et texte  Attributs et texte  attribut mixed de l'élément  Par défaut, mixed ="false"

ACCARY-BARBIER / CNAM - Cycle C Contenu non contraint et contenu nul  Elément qui n’a aucune contrainte sur son contenu  Type de base d’où sont dérivés tous les types simples et complexes : anyType  anyType est le type par défaut  Elément à contenu nul :  Elément qui peut être ne pas avoir de contenu  Permet la distinction entre élément absent et élément présent sans contenu  Attribut nillable de l'élément Ou

ACCARY-BARBIER / CNAM - Cycle C Chapitre 2 : Schémas XML  1. Introduction  1.1. Pourquoi XML-Schéma  1.2. Syntaxe des Schémas  2. Typage des éléments et attributs  2.1. Types simples  2.2. Types complexes  2.3. Dérivation de types  3. Validation par schémas  En savoir plus…

ACCARY-BARBIER / CNAM - Cycle C Types simples dérivés  On peut créer de nouveaux types simples en dérivant des types simples existants (prédéfinis ou dérivés)  Un nouveau type simple peut être défini par  Restriction : sous-ensemble des valeurs d’un type existant  liste : liste de valeurs d’un type existant  union : choix de valeurs parmi un ensemble de types existant  extension  Un nouveau type simple est déclaré par un élément simpleType qui contient un élément restriction, list ou union

ACCARY-BARBIER / CNAM - Cycle C Restriction de type simple  La restriction d’un type simple se fait par facettes :  Pour les nombres, dates, durées :  Valeur minimum, valeur maximum, nombre de chiffres, patterns, énumération  pour les chaînes, noms, ID :  Patterns (expressions régulières), longueur, longueur minimum, longueur maximum  Exemple : Le type integer a 8 facettes optionnelles :  totalDigits  pattern  whitespace  enumeration  maxInclusive  maxExclusive  minInclusive  minExclusive

ACCARY-BARBIER / CNAM - Cycle C Exemples de restriction de type simple

ACCARY-BARBIER / CNAM - Cycle C Listes  Suites de type simples (atomiques)  3 types prédéfinis par XML Schémas  NMTOKENS  ENTITIES  IDREF  On peut créer d'autres listes par dérivation  Possibilité de contraindre encore plus les types en utilisant des facettes  Ex : préciser qu'un phonenumber est limité à 10 nombres

ACCARY-BARBIER / CNAM - Cycle C Unions  Pour autoriser plusieurs types simples, déclaration d'union de types simples  Ex suivant, le type technicalmemo peut contenir des types phonenumber (précédemment décrit) et/ou des chaînes de caractères

ACCARY-BARBIER / CNAM - Cycle C Extension de types simples  Élément avec un contenu simple et attributs  indique que l'élément ne contient pas de sous-élément.  Dérivation d'un type complexe à partir d'un type simple  EX : Besoin de définir un élément contenant une valeur simple, et possédant un attribut, comme 67.

ACCARY-BARBIER / CNAM - Cycle C Restriction de types complexes  Construction d’un nouveau type complexe en supprimant des composants à un type complexe existant  Comparable à la restriction de types simples : les valeurs du nouveau type constituent un sous-ensemble des valeurs du type de base  Ajout d’une valeur par défaut  Ajout d’une valeur fixe  Spécification du type quand aucun type n’était spécifié  Réduction du nombre d’occurences (attributs minOccurs et maxOccurs )  La restriction doit répéter explicitement tous les composants du type de base qui sont conservés

ACCARY-BARBIER / CNAM - Cycle C Exemple de restriction

ACCARY-BARBIER / CNAM - Cycle C Extension de types complexes  Ajouter des éléments ou attributs à un type complexe Title Author Date Publisher ISBN BookPublication Publication

ACCARY-BARBIER / CNAM - Cycle C Contrôle de la création de types dérivés (1/2)  On peut interdire l’extension et/ou la restriction d’un type complexe lors de sa définition  Attribut final (valeurs : extension, restriction, #all )  Ex : interdire toute restriction du type Address (mais pas l’extension)

ACCARY-BARBIER / CNAM - Cycle C Contrôle de la création de types dérivés (2/2)  On peut interdire la dérivation d’un type simple facette par facette, lors de sa définition  Attribut fixed dans la définition de la facette concernée  Ex : interdire toute modification de la longueur du type Postcode (mais pas des autres facettes)

ACCARY-BARBIER / CNAM - Cycle C Chapitre 2 : Schémas XML  1. Introduction  1.1. Pourquoi XML-Schéma  1.2. Syntaxe des Schémas  2. Typage des éléments et attributs  2.1. Types simples  2.2. Types complexes  2.3. Dérivation de types  3. Validation par schémas  En savoir plus…

ACCARY-BARBIER / CNAM - Cycle C Schémas modulaires  Un schéma XML peut être éclaté en plusieurs fichiers (maintenabilité, lisibilité, réutilisation, contrôle d’accès, etc.)  Un fichier est inclus dans un autre par l’élément include  Un fichier peut inclure plusieurs autres fichiers  Possibilité d'inclusion en cascade  L’ensemble des fichiers inclus et incluant doivent concerner le même espace de nom cible  Ex :  Inclusion avec redéfinition  L’élément include permet d’utiliser des définitions et déclarations externes telles quelles.  L’élément redefine permet d’utiliser des définitions et déclarations externes en les modifiants.

ACCARY-BARBIER / CNAM - Cycle C Exemple d'inclusion avec redéfinition

ACCARY-BARBIER / CNAM - Cycle C Annotations  L’élément annotation permet d’annoter les schémas XML pour le lecteur humain et les applications  L’élément annotation a deux sous-éléments :  documentation : destiné au lecteur humain  appInfo : fournit de l’information aux applications et feuilles de style  L’élément annotation peut apparaître au début de la plupart des constructions

ACCARY-BARBIER / CNAM - Cycle C Schémas et instances  Une instance ne référence pas forcément un schéma  Une instance peut référencer son schéma par l’attribut xsi:schemaLocation  Un validateur est libre d’utiliser cette information on non  Ex :

ACCARY-BARBIER / CNAM - Cycle C Schémas et Infoset  La validité par rapport à une DTD et sont caractère bien- formé sont définies pour des séquences de caractères  La validité par rapport à un schéma XML est définie pour un Infoset  Modèle de données abstrait pour les documents XML  Définit un petit nombre de composants : élément, attribut, etc.  Chaque composant a des propriétés : nom, enfants, etc.  La validation des instances n’est pas obligatoire  Deux fonctions d’un validateur : 1.Vérification de la conformité par rapport aux contraintes exprimées dans le schéma 2.Ajout d’informations à l’ infoset : types, valeurs par défaut, etc.

ACCARY-BARBIER / CNAM - Cycle C Autres mécanismes  Espaces de noms  Contrôle d’unicité : éléments unique, key, keyref  Importations avec dérivations possibles de définitions globales venant de schémas d’espaces de noms différents

ACCARY-BARBIER / CNAM - Cycle C Conclusion  Avantages des schémas XML sur les DTD  Grand nombre de types offerts, possibilité d’ajouter des contraintes sur les types fournis  Possibilité de créer de nouveaux types  Héritage de types  Support des espaces de noms  Indicateurs d’occurrences plus riche  Meilleur contrôle des contenus mixtes  Modularité  Documentation

ACCARY-BARBIER / CNAM - Cycle C Chapitre 2 : Schémas XML  1. Introduction  1.1. Pourquoi XML-Schéma  1.2. Syntaxe des Schémas  2. Typage des éléments et attributs  2.1. Types simples  2.2. Types complexes  2.3. Dérivation de types  3. Validation par schémas  En savoir plus…

ACCARY-BARBIER / CNAM - Cycle C En savoir plus…    Cours et tutoriels en ligne ….  Jean-Jacques Thomasson, 2002, Schémas XML, Eyrolles