1 schémas xml - cours 2 Éric laporte institut gaspard-monge université paris-est marne-la-vallée

Download 1 Schémas XML - cours 2 Éric Laporte Institut Gaspard-Monge Université Paris-Est Marne-la-Vallée

Post on 04-Apr-2015

103 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Page 1
  • 1 Schmas XML - cours 2 ric Laporte Institut Gaspard-Monge Universit Paris-Est Marne-la-Valle
  • Page 2
  • 2 Sommaire Valider un seul lment 4 Dclarations locales 7 Identifiants et rfrences 13 Modularisation 41
  • Page 3
  • 3 4.Valider un lment (1/2) 5.Valider un lment (2/2) 6.Schma pour plusieurs types de documents 7.Contraindre l'lment racine (1/2) 8.Contraindre l'lment racine (2/2) 9.lments dclars en local (1/3) lments dclars en local (2/3) lments dclars en local (3/3) Dclarations locales ou globales Identifiants Dclarer des identifiants Le type simple s:ID (1/2) Le type simple s:ID (2/2) Rfrences des identifiants (1/2) Rfrences des identifiants (2/2) Listes de rfrences des identifiants (1/2) Listes de rfrences des identifiants (2/2) Identifiants et rfrences s:unique (1/6) s:unique (2/6) s:unique (3/6) s:unique (4/6) s:unique (5/6) s:unique (6/6) Expressions Xpath (1/6) Expressions Xpath (2/6) Expressions Xpath (3/6) 31.Expressions Xpath (4/6) 32.Expressions Xpath (5/6) 33.Expressions Xpath (6/6) 34.s:key 35.Dclarer des rfrences des identifiants (1/5) 36.Dclarer des rfrences des identifiants (2/5) 37.Dclarer des rfrences des identifiants (3/5) 38.Dclarer des rfrences des identifiants (4/5) 39.Dclarer des rfrences des identifiants (5/5) 40.s:ID ou s:unique 41.Une grammaire en plusieurs schmas 42.Solution 1 : s:include (1/2) 43.Solution 1 : s:include (2/2) 44.s:include 45.Coexistence de plusieurs espaces de noms 46.Solution 2 : s:import (1/2) 47.Solution 2 : s:import (2/2) 48.s:import 49.Solution 3 : s:any (1/2) 50.Solution 3 : s:any (2/2) 51.Rfrence plusieurs schmas XML 52.Espaces de noms accepts 53.Contrle de la validation 54. 55.Schma d'un document cible sans espace de noms (1/2) 56.Schma d'un document cible sans espace de noms (2/2) 57.Schmas camlons
  • Page 4 37 American Beauty - Theme Air american beauty soundtrack">
  • 4 Valider un lment (1/2) On peut valider un document contenant seulement un lment Il suffit qu'il ait t dclar en global dans le schma 37 American Beauty - Theme Air american beauty soundtrack
  • Page 5 (...)">
  • 5 Valider un lment (2/2) L'lment Track a t dclar en global (...)
  • Page 6
  • 6 Schma pour plusieurs types de documents Un schma unique pour plusieurs types de documents (...)
  • Page 7 ">
  • 7 Contraindre l'lment racine (1/2) On veut imposer aud:iTunes comme seul lment racine possible Dclarer tous les autres lments en local
  • Page 8 ">
  • 8 Contraindre l'lment racine (2/2) Dclarer un lment en local : l'intrieur de la spcification du type dont il fait partie
  • Page 9 ">
  • 9 lments dclars en local (1/3) Si l'lment est utilis dans plusieurs contextes, il faut le dclarer plusieurs fois Cela peut tre avec des types diffrents (...)
  • Page 10 ">
  • 10 lments dclars en local (2/3) Si tous les lments sont dclars en local, sauf l'lment racine : schma en poupes russes
  • Page 11 ">
  • 11 lments dclars en local (3/3) Pour qu'ils aient l'espace de noms cible, dclarer elementFormDefault="qualified" la racine ou form="qualified" dans chaque dclaration Sinon, ils n'ont pas d'espace de noms (mauvaise pratique)
  • Page 12
  • 12 Dclarations locales ou globales Dclarations locales Plus strict : les lments ne peuvent tre que l o on les a dclars Possibilit de surcharge : utiliser le mme nom d'lment pour autre chose ailleurs Dclarations globales Plus souple : les lments peuvent apparatre la racine Plus de rutilisation Plus lisible : plus faciles trouver dans le schma On peut mlanger
  • Page 13
  • 13 Identifiants Quand le mme objet figure plusieurs fois dans un document, cela complique toute modification de l'objet Conserver une seule reprsentation de l'objet, avec un identifiant, et remplacer les autres par l'identifiant Crime 5:31 5:37 5:41 0:34 0:36 1:37*
  • Page 14 La Courneuve - 8 Mai 1945">
  • 14 Dclarer des identifiants Garantir qu'un ensemble de valeurs sont toutes diffrentes Exemple : dans ligne7.xml, l'attribut id de td La Courneuve - 8 Mai 1945
  • Page 15 ">
  • 15 Le type simple s:ID (1/2) Les s:ID dclars s:ID d'un document doivent tre tous diffrents Mcanisme issu des DTD
  • Page 16
  • 16 Le type simple s:ID (2/2) Valeurs : obligatoirement des identificateurs sans ":" Ne convient pas pour des identifiants numriques ou contenant des espaces element content failed type check: Marsh Marigold does not match pattern [_:A-Za-z----... Columbine Aquilegia canadensis 3 Mostly Shady 9.37 030699 Marsh Marigold Caltha palustris
  • Page 17 La Courneuve - 8 Mai 1945">
  • 17 Rfrences des identifiants (1/2) Garantir qu'un identificateur est identique un des identifiants dclars s:ID Exemple : dans ligne7ref.xml, l'attribut name de a La Courneuve - 8 Mai 1945
  • Page 18 ">
  • 18 Rfrences des identifiants (2/2) Spcifie que chaque identificateur dclar s:IDREF est identique un des identifiants dclars s:ID
  • Page 19
  • 19 Listes de rfrences des identifiants (1/2) Rfrences aux plantes de mme nom scientifique Violet, Dog-Tooth Erythronium americanum (...) Trout Lily Erythronium americanum
  • Page 20
  • 20 Listes de rfrences des identifiants (2/2) s:IDREFS : liste de rfrences spares par des espaces (...) (...)
  • Page 21
  • 21 Identifiants et rfrences s:ID, s:IDREF, s:IDREFS spcifient la fois - la forme des identifiants - les proprits d'unicit Les schmas XML permettent de sparer les deux questions Ils proposent un nouveau mcanisme qui couvre uniquement les proprits d'unicit La forme des identifiants est dj couverte par les types simples
  • Page 22 ">
  • 22 s:unique (1/6) Spcifie que les contenus des COMMON dans un mme CATALOG sont tous diffrents et que chaque noeud PLANT en contient au plus un
  • Page 23
  • 23 s:unique (2/6) N'importe quel type de chane de caractres peut servir d'identifiant La dclaration s:unique est rattache la dclaration de l'lment CATALOG S'il y a plusieurs CATALOG, il y a plusieurs "domaines" l'intrieur desquels les identifiants sont tous diffrents (...)
  • Page 24
  • 24 s:unique (3/6) s:selector spcifie les noeuds qui peuvent avoir un identifiant s:field spcifie les identifiants Si on oublie l'espace de noms, il n'y a pas de message d'erreur : Le validateur ne trouve aucun noeud, et donc ne vrifie aucune contrainte (...)
  • Page 25
  • 25 s:unique (4/6) CATALOG PLANT BOTANICALCOMMON Bloodroot Sanguinaria Canadensis PLANT... ZONELIGHT 4 Mostly Shady... noeud identifier identifiant "domaine" pour l'unicit
  • Page 26
  • 26 s:unique (5/6) L'valuation de s:field xpath doit donner une valeur unique, qui est convertie en chane de caractres Expressions Xpath (langage normalis par le W3C aussi)
  • Page 27
  • 27 s:unique (6/6) S'il y a plusieurs s:field, l'identifiant est le n-uplet des chanes de caractres correspondantes (...) Spcifie qu'il n'y a pas deux entres avec la fois le mme nom scientifique et le mme prix
  • Page 28
  • 28 Expressions Xpath (1/6) Dans s:selector et s:field, xpath contient une expression Xpath Langage normalis par le W3C aussi PLANT BOTANICALCOMMON Bloodroot Sanguinaria Canadensis ZONE 4 noeud identifier identifiant
  • Page 29
  • 29 Expressions Xpath (2/6) Autres expressions Xpath utilisables dans s:unique PLANT BOTANICALCOMMON Bloodroot Sanguinaria Canadensis ZONE 4 noeud identifier identifiant CATALOG
  • Page 30
  • 30 Expressions Xpath (3/6) Attributs PLANT NAME BOTANICALCOMMON Bloodroot Sanguinaria Canadensis ZONE... LIGHT 4 Mostly Shady noeud identifier identifiant number="27" normalized= "bloodroot"
  • Page 31
  • 31 Expressions Xpath (4/6) PLANT NAME BOTANICALCOMMON Bloodroot Sanguinaria Canadensis ZONE... LIGHT 4 Mostly Shady noeud identifier identifiant number="27" normalized= "bloodroot"
  • Page 32
  • 32 Expressions Xpath (5/6) PLANT NAME BOTANICALCOMMON Bloodroot Sanguinaria Canadensis ZONE... LIGHT 4Mostly Shady noeud identifier identifiant number="27" normalized= "bloodroot"
  • Page 33
  • 33 Expressions Xpath (6/6) PLANT NAME BOTANICALCOMMON Bloodroot Sanguinaria Canadensis ZONE... LIGHT 4 Mostly Shady noeud identifier identifiant number="27" normalized= "bloodroot"
  • Page 34
  • 34 s:key Comme mais spcifie que - les contenus des COMMON prsents dans un mme CATALOG sont tous distincts - chaque noeud PLANT en contient un et un seul
  • Page 35
  • 35 Dclarer des rfrences des identifiants (1/5) Garantir qu'un identificateur est identique un des identifiants dclars par s:unique ou s:key Exemple : rfrences aux plantes de mme nom scientifique Violet, Dog-Tooth Erythronium americanum (...) Trout Lily Adder's-Tongue Trout Lily
  • Page 36
  • 36 Dclarer des rfrences des identifiants (2/5) Spcifie que le contenu de chaque seeAlso est identique un des identifiants (mme valeur et mme type) et que chaque seeAlso en contient au plus un (inutile ici) (...)
  • Page 37
  • 37 Dclarer des rfrences des identifiants (3/5) CATALOG PLANT BOTANICALCOMMON Trout Lily Erythronium americanum PLANT seeAlso Trout Lily noeud identifi identifiant "domaine" pour