La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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.

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

1 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 et XSLT  CHAPITRE 4 : Applications XML

2 ACCARY-BARBIER / CNAM - Cycle C - 2005-20062 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…

3 ACCARY-BARBIER / CNAM - Cycle C - 2005-20063 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

4 ACCARY-BARBIER / CNAM - Cycle C - 2005-20064 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

5 ACCARY-BARBIER / CNAM - Cycle C - 2005-20065 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

6 ACCARY-BARBIER / CNAM - Cycle C - 2005-20066 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)

7 ACCARY-BARBIER / CNAM - Cycle C - 2005-20067 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…

8 ACCARY-BARBIER / CNAM - Cycle C - 2005-20068 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

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

10 ACCARY-BARBIER / CNAM - Cycle C - 2005-200610 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)

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

12 ACCARY-BARBIER / CNAM - Cycle C - 2005-200612 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

13 ACCARY-BARBIER / CNAM - Cycle C - 2005-200613 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

14 ACCARY-BARBIER / CNAM - Cycle C - 2005-200614 Groupe d'attributs

15 ACCARY-BARBIER / CNAM - Cycle C - 2005-200615 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…

16 ACCARY-BARBIER / CNAM - Cycle C - 2005-200616 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.

17 ACCARY-BARBIER / CNAM - Cycle C - 2005-200617 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

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

19 ACCARY-BARBIER / CNAM - Cycle C - 2005-200619 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…

20 ACCARY-BARBIER / CNAM - Cycle C - 2005-200620 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

21 ACCARY-BARBIER / CNAM - Cycle C - 2005-200621 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

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

23 ACCARY-BARBIER / CNAM - Cycle C - 2005-200623 Elément All

24 ACCARY-BARBIER / CNAM - Cycle C - 2005-200624 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

25 ACCARY-BARBIER / CNAM - Cycle C - 2005-200625 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"

26 ACCARY-BARBIER / CNAM - Cycle C - 2005-200626 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

27 ACCARY-BARBIER / CNAM - Cycle C - 2005-200627 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…

28 ACCARY-BARBIER / CNAM - Cycle C - 2005-200628 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

29 ACCARY-BARBIER / CNAM - Cycle C - 2005-200629 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

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

31 ACCARY-BARBIER / CNAM - Cycle C - 2005-200631 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

32 ACCARY-BARBIER / CNAM - Cycle C - 2005-200632 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

33 ACCARY-BARBIER / CNAM - Cycle C - 2005-200633 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.

34 ACCARY-BARBIER / CNAM - Cycle C - 2005-200634 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

35 ACCARY-BARBIER / CNAM - Cycle C - 2005-200635 Exemple de restriction

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

37 ACCARY-BARBIER / CNAM - Cycle C - 2005-200637 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)

38 ACCARY-BARBIER / CNAM - Cycle C - 2005-200638 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)

39 ACCARY-BARBIER / CNAM - Cycle C - 2005-200639 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…

40 ACCARY-BARBIER / CNAM - Cycle C - 2005-200640 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.

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

42 ACCARY-BARBIER / CNAM - Cycle C - 2005-200642 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

43 ACCARY-BARBIER / CNAM - Cycle C - 2005-200643 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 : http://www.example.com/Reporthttp://www.w3.org/2001/XMLSchema-instance http://www.example.com/Report.xsd

44 ACCARY-BARBIER / CNAM - Cycle C - 2005-200644 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.

45 ACCARY-BARBIER / CNAM - Cycle C - 2005-200645 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

46 ACCARY-BARBIER / CNAM - Cycle C - 2005-200646 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

47 ACCARY-BARBIER / CNAM - Cycle C - 2005-200647 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…

48 ACCARY-BARBIER / CNAM - Cycle C - 2005-200648 En savoir plus…  http://www.w3.org/  http://xmlfr.org/ http://xmlfr.org/  Cours et tutoriels en ligne ….  Jean-Jacques Thomasson, 2002, Schémas XML, Eyrolles


Télécharger ppt "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."

Présentations similaires


Annonces Google