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

Introduction au XML Choopan Rattanapoka Université Louis-Pasteur, Starsbourg.

Présentations similaires


Présentation au sujet: "Introduction au XML Choopan Rattanapoka Université Louis-Pasteur, Starsbourg."— Transcription de la présentation:

1 Introduction au XML Choopan Rattanapoka (choopan@icps.u-strasbg.fr) choopan@icps.u-strasbg.fr Université Louis-Pasteur, Starsbourg

2 Quest-ce cest XML XML « eXtended Markup Language » XML « eXtended Markup Language » XML est une spécification proposée par le W3C en 1998 XML est une spécification proposée par le W3C en 1998 XML est un langage de balises comme HTML XML est un langage de balises comme HTML XML a été conçu pour décrire des données XML a été conçu pour décrire des données Des étiquettes de XML ne sont pas prédéfinies. Vous devez définir vos propres étiquettes Des étiquettes de XML ne sont pas prédéfinies. Vous devez définir vos propres étiquettes

3 XML VS HTML XML a été conçu pour porter des données. XML nest pas un remplacement pour le HTML XML été conçu pour décrire des données et pour se concentrer sur ce que sont les données. XML été conçu pour décrire des données et pour se concentrer sur ce que sont les données. HTML a été conçu pour montrer des données et pour se concentrer sur à quoi les données ressemblent HTML a été conçu pour montrer des données et pour se concentrer sur à quoi les données ressemblent HTML est au sujet de montrer l'information, alors que XML est au sujet de décrire l'information HTML est au sujet de montrer l'information, alors que XML est au sujet de décrire l'information

4 XML ne fait rien XML a été créé pour structurer, stocker et envoyer l'information XML a été créé pour structurer, stocker et envoyer l'information XML a été conçu pour ne rien faire Tove Jani Reminder Don't forget me this weekend!

5 Pourquoi XML ? XML peut séparer des données de HTML XML peut séparer des données de HTML XML est utilisé pour échanger des données XML est utilisé pour échanger des données XML peut être utilisé pour partager des données XML peut être utilisé pour partager des données XML peut être utilisé pour stocker des données XML peut être utilisé pour stocker des données XML peut être utilisé pour créer des nouvel langages XML peut être utilisé pour créer des nouvel langages WAP, WML sont créés en utilisant XML WAP, WML sont créés en utilisant XML

6 Document bien formé Un document XML est dit "bien formé" (well-formed) s'il est constitué d'un prologue et d'un élément racine (noeud racine). Le prologue : Il s'agit de la ligne d'introduction d'un document XML. Lélément racine : …. Sil y a une balise ouvrant, il faut toujours avoir une balise fermant

7 Exemple : XML CSS 2 Daniel GLAZMAN Eyrolles Formation à... XML Michael J. YOUNG Microsoft Press ASP.Net – To the.Point Grégory RENARD ASP-PHP.net

8 Le Résutat du XML dans FireFox

9 Jeu de caractères

10 DTD : Document Valide Un document XML est dit valide sil est bien formé et il possède une DTD (Document Type Definition) Un document XML est dit valide sil est bien formé et il possède une DTD (Document Type Definition) Lutilisation dune DTD est facultative mais nécessaire si lon souhaite valider un document XML Lutilisation dune DTD est facultative mais nécessaire si lon souhaite valider un document XML La DTD permet de définir un ensemble de règles pour la structure dun document XML et la hiérarchisation des données La DTD permet de définir un ensemble de règles pour la structure dun document XML et la hiérarchisation des données

11 Structure dune DTD Il y a 2 types de DTD Il y a 2 types de DTD DTD externe DTD externe DTD interne DTD interne DTD externe DTD externe Doit être enregistrée dans un fichier texte portant lextension.dtd Doit être enregistrée dans un fichier texte portant lextension.dtd La déclaration de lutilisation dune DTD externe doit se faire avant lélément racine et après le prologue La déclaration de lutilisation dune DTD externe doit se faire avant lélément racine et après le prologue

12 Structure dune DTD DTD interne DTD interne Doit être déclarée avant lélément racine et après le prologue Doit être déclarée avant lélément racine et après le prologue Elle est introduite par linstruction DOCTYPE immédiatement suivie par le nom que porte lélément racine Elle est introduite par linstruction DOCTYPE immédiatement suivie par le nom que porte lélément racine Exemple Exemple <!DOCTYPE nœudracine [ instructions de la DTD ]><nœudracine>….</nœudracine> Chaque instruction de la DTD commence par <! Chaque instruction de la DTD commence par <!

13 Déclarations utilisées dans la syntaxe dune DTD !ATTLIST : Définit les listes dattributs !ATTLIST : Définit les listes dattributs !ELEMENT : Définit les listed déléments !ELEMENT : Définit les listed déléments !ENTITY : Définit les entités !ENTITY : Définit les entités !DOCTYPE : Définit une DTD externe ou interne !DOCTYPE : Définit une DTD externe ou interne !NOTATION : Définit les entités non XML !NOTATION : Définit les entités non XML

14 La spécification de contenu déléments dune DTD ANY : Indique que lélément défini peut avoir tout type de contenu légal ANY : Indique que lélément défini peut avoir tout type de contenu légal EMPTY : Indique que lélément défini ne peut pas avoir de contenu EMPTY : Indique que lélément défini ne peut pas avoir de contenu (#PCDATA) : Indique que lélément défini peut contenir une chaîne de caractères. (#PCDATA) : Indique que lélément défini peut contenir une chaîne de caractères.

15 La spécification de contenu déléments dune DTD ( …, … ) : Délimite une liste de contenu en précisant le nom et lordre des nœuds enfants ( …, … ) : Délimite une liste de contenu en précisant le nom et lordre des nœuds enfants, : Opérateur de liaison ET. Indique que les nœuds enfants déclarés (dans une liste) sont tous obligatoires et dans lordre de leur déclaration, : Opérateur de liaison ET. Indique que les nœuds enfants déclarés (dans une liste) sont tous obligatoires et dans lordre de leur déclaration |: Opérateur de liaison OU. Indique quun seul des nœuds enfants déclarés peut être utilisé |: Opérateur de liaison OU. Indique quun seul des nœuds enfants déclarés peut être utilisé

16 La spécification de contenu déléments dune DTD ? : Indique que le nœud enfant est optionnel; Il peut être utilisé 0 ou 1 fois. ? : Indique que le nœud enfant est optionnel; Il peut être utilisé 0 ou 1 fois. + : Indique que le nœud enfant peut être utilisé une ou plusieurs fois + : Indique que le nœud enfant peut être utilisé une ou plusieurs fois * : Indique que le nœud enfant est optionnel. Il peut être utilisé 0, 1 ou plusieurs fois * : Indique que le nœud enfant est optionnel. Il peut être utilisé 0, 1 ou plusieurs fois

17 La spécification de contenu déléments dune DTD Si ?, +, * est placé après les parenthèses dune liste de contenu, il sapplique à tout le contenu Si ?, +, * est placé après les parenthèses dune liste de contenu, il sapplique à tout le contenu

18 Exemple : DTD Supposons, La description des livres dune librairie Supposons, La description des livres dune librairie Stocké des informations sur titre, auteur, éditeur, prix Stocké des informations sur titre, auteur, éditeur, prix Cest possible davoir plusieurs auteur pour un livre Cest possible davoir plusieurs auteur pour un livre Le prix est optionnel Le prix est optionnel Le prix seront classés par catégorie Le prix seront classés par catégorie cat1 pour les livres dont le prix est inférieur à 20 cat1 pour les livres dont le prix est inférieur à 20 cat2 pour les livres dont le prix est entre 20 et 40 cat2 pour les livres dont le prix est entre 20 et 40 cat3 pour les livres dont le prix est supérieur à 40 cat3 pour les livres dont le prix est supérieur à 40 Définir en,, Définir en,,

19 Exemple : DTD Nœud racine est librairie Nœud racine est librairie <!DOCTYPE librairie [.. Instructions.. ]>

20 Exemple : DTD Dans notre librairie peut avoir 0 ou plusieur livres Dans notre librairie peut avoir 0 ou plusieur livres <!DOCTYPE librairie [ ….. …..]>

21 Exemple : DTD Linformation dun livre « titre, auteur, éditeur, prix » Linformation dun livre « titre, auteur, éditeur, prix » <!DOCTYPE librairie [ ]>

22 Exemple : DTD Un livre peut avoir 1 ou plusieurs auteur Un livre peut avoir 1 ou plusieurs auteur <!DOCTYPE librairie [ ]>

23 Exemple : DTD Le prix dun livre est optionnel Le prix dun livre est optionnel <!DOCTYPE librairie [ ]>

24 Exemple : DTD titre, auteur, éditeur sont stockés comme chaîne de caractères titre, auteur, éditeur sont stockés comme chaîne de caractères <!DOCTYPE librairie [ ]>

25 Exemple : DTD prix sont stockés soit cat1, cat2 ou cat3 prix sont stockés soit cat1, cat2 ou cat3 <!DOCTYPE librairie [ ]>

26 Exemple : DTD cat1, cat2 et cat3 sont éléments qui ont non valeur cat1, cat2 et cat3 sont éléments qui ont non valeur <!DOCTYPE librairie [ ]>

27 DTD : Définition dattributs Les attributs XML ont la même fonction que les attributs HTML Les attributs XML ont la même fonction que les attributs HTML On définit les attributs dans une DTD avec linstruction <!ATTLIST On définit les attributs dans une DTD avec linstruction <!ATTLIST La syntaxe générale dune déclaration dattribut est la suivante : La syntaxe générale dune déclaration dattribut est la suivante :

28 Liste des valeurs par types (val1 | val2 | etc ) : Une suite de valeurs séparée par un trait vertical. Lattribut ne pourra prendre quune seule de ces valeurs. (val1 | val2 | etc ) : Une suite de valeurs séparée par un trait vertical. Lattribut ne pourra prendre quune seule de ces valeurs. NOTATION (val1 | val2 | etc) : Une suite de noms de notation séparé par un trait vertical. Chaque nom doit correspondre exactement à un nom de notation déclaré dans la DTD. NOTATION (val1 | val2 | etc) : Une suite de noms de notation séparé par un trait vertical. Chaque nom doit correspondre exactement à un nom de notation déclaré dans la DTD. CDATA : Accept nimporte quel chaîne de caractères CDATA : Accept nimporte quel chaîne de caractères ENTITY : Définit comme valeur dattribut une entité non parsée déclarée dans une DTD. ENTITY : Définit comme valeur dattribut une entité non parsée déclarée dans une DTD. ENTITIES : Définit comme valeur dattribut plusieurs entités non parsées déclarées dans une DTD ENTITIES : Définit comme valeur dattribut plusieurs entités non parsées déclarées dans une DTD

29 Liste des valeurs par types ID : Indique que lattribut possède une valeur unique pour chaque élément. La valeur peut contenir une ou plusieurs lettres, des chiffres, des points, des tiret haut ou bas, et un double point ID : Indique que lattribut possède une valeur unique pour chaque élément. La valeur peut contenir une ou plusieurs lettres, des chiffres, des points, des tiret haut ou bas, et un double point IDREF : Indique que la valeur de lattribut se réfère à un ID dun autre attribut IDREF : Indique que la valeur de lattribut se réfère à un ID dun autre attribut IDREFS : Indique à IDREF excepté que la valeur de lattribut peut se référer à plusieurss ID IDREFS : Indique à IDREF excepté que la valeur de lattribut peut se référer à plusieurss ID

30 Liste des valeurs par types NMTOKEN : Indique que la valeur de lattribut est une chaîne de caractères pouvant contenir une ou plusieurs lettre, des chiffres, des point, des tirets hauts ou bas, et un double point. NMTOKEN : Indique que la valeur de lattribut est une chaîne de caractères pouvant contenir une ou plusieurs lettre, des chiffres, des point, des tirets hauts ou bas, et un double point. NMTOKENS : Identique à NMTOKEN excepté que lattribut peut avoir plusieurs valeurs séparées par des espaces NMTOKENS : Identique à NMTOKEN excepté que lattribut peut avoir plusieurs valeurs séparées par des espaces

31 Liste des options valdefault : Définit, pour lattribut, une valeur par défaut. Si la valeur est omise, le parser utilisera la valeur par défaut indiquée. Mais il est possible daffecter une autre valeur issue de la liste des valeurs déclarées "valdefault" : Définit, pour lattribut, une valeur par défaut. Si la valeur est omise, le parser utilisera la valeur par défaut indiquée. Mais il est possible daffecter une autre valeur issue de la liste des valeurs déclarées #FIXED #FIXED "valdefaut" : Définit, pour lattribut, une valeur par défaut. Si la valeur est omise, le parser utilisera la valeur par défaut indiquée. Aucune autre valeur nest admise.

32 Liste des options : Indique que la valeur dattribut est optionnelle et que le parser ne fera aucun remplacement si la valeur est omise #IMPIED : Indique que la valeur dattribut est optionnelle et que le parser ne fera aucun remplacement si la valeur est omise #REQUIRED #REQUIRED : Indique quune valeur dattribut est obligatoire

33 Exemple : DTD avec lattribut Supposons, La description des livres dune librairie Supposons, La description des livres dune librairie Stocké des informations sur titre, auteur, éditeur, prix Stocké des informations sur titre, auteur, éditeur, prix Cest possible davoir plusieurs auteur pour un livre Cest possible davoir plusieurs auteur pour un livre Le prix est optionnel. Et cest lattribut de lélément livre Le prix est optionnel. Et cest lattribut de lélément livre On ajoute un attribut ISBN, obligatoire de type NMTOKEN, pour lélément livre On ajoute un attribut ISBN, obligatoire de type NMTOKEN, pour lélément livre On ajoute un attribut stock pour lélément titre avec une valeur par défaut « non » On ajoute un attribut stock pour lélément titre avec une valeur par défaut « non »

34 Exemple : DTD avec lattribut Nœud racine est librairie Nœud racine est librairie <!DOCTYPE librairie [.. Instructions.. ]>

35 Exemple : DTD avec lattribut Dans notre librairie peut avoir 0 ou plusieur livres Dans notre librairie peut avoir 0 ou plusieur livres <!DOCTYPE librairie [ ….. …..]>

36 Exemple : DTD avec lattribut Linformation dun livre « titre, auteur, éditeur » Linformation dun livre « titre, auteur, éditeur » <!DOCTYPE librairie [ ]>

37 Exemple : DTD avec lattribut Un livre peut avoir 1 ou plusieurs auteur Un livre peut avoir 1 ou plusieurs auteur <!DOCTYPE librairie [ ]>

38 Exemple : DTD avec lattribut Le prix dun livre est optionnel et cest lattribut de lélément livre qui a des valeur soit cat1, cat2 ou cat3. Le prix dun livre est optionnel et cest lattribut de lélément livre qui a des valeur soit cat1, cat2 ou cat3. <!DOCTYPE librairie [ ]>

39 Exemple : DTD avec lattribut LISBN dun livre est obligatoire et cest lattribut de lélément livre LISBN dun livre est obligatoire et cest lattribut de lélément livre <!DOCTYPE librairie [ ]>

40 Exemple : DTD avec lattribut Le titre est stocké comme la chaîne de caractères Le titre est stocké comme la chaîne de caractères <!DOCTYPE librairie [ ]>

41 Exemple : DTD avec lattribut Le stock est lattribut de lélément titre avec « non » comme la valeur par défaut Le stock est lattribut de lélément titre avec « non » comme la valeur par défaut <!DOCTYPE librairie [ ]>

42 Exemple : DTD avec lattribut auteur et éditeur sont stockés comme la chaîne de caractères auteur et éditeur sont stockés comme la chaîne de caractères <!DOCTYPE librairie [ ]>

43 Exemple1 : XML + DTD C'est bon Moi M.A M.B M.C Est-ce que c'est bien formé Est-ce que ce XML est bien formé ?

44 Exemple1 : XML + DTD C'est bon Moi M.A M.B M.C Est-ce que c'est bien formé Est-ce que ce XML est bien formé ? NON

45 Exemple1 : XML + DTD C'est bon Moi M.A M.B M.C Est-ce que c'est bien formé

46 Exemple1 : XML + DTD C'est bon Moi M.A M.B M.C Est-ce que c'est bien formé exemple1.dtd Est-ce que ce XML est valide ? NON

47 Exemple2 : XML + DTD HYBRID Kintaro 25 LEBOIS Robin DE-FRANCE Muller 30 Est-ce que ce XML est bien formé ? NON

48 Exemple2 : XML + DTD HYBRID Kintaro 25 LEBOIS Robin DE-FRANCE Muller 30

49 Exemple2 : XML + DTD HYBRID Kintaro 25 LEBOIS Robin DE-FRANCE Muller 30 employee.dtd Est-ce que ce XML est valide ?

50 Exemple2 : XML + DTD HYBRID Kintaro 25 manque uid LEBOIS Robin DE-FRANCE Muller 30 employee.dtd Est-ce que ce XML est valide ? NON

51 XML Schema XML Schema lui-même est basé sur XML XML Schema lui-même est basé sur XML Le but de XML schema est pour décrire la structure du document XML comme DTD Le but de XML schema est pour décrire la structure du document XML comme DTD Définit des élément qui peuvent apparaître dans dun document Définit des élément qui peuvent apparaître dans dun document Définit des attributs qui peuvent apparaître dans dun document Définit des attributs qui peuvent apparaître dans dun document Définit lequels éléments sont les éléments fils Définit lequels éléments sont les éléments fils Définit lordre des éléments fils Définit lordre des éléments fils Définit nombre déléments fils Définit nombre déléments fils Définit des types de données pour les éléments et attributs Définit des types de données pour les éléments et attributs

52 XML Schema VS DTD Les XML Schemas peuvent remplacer les DTDs dans le futur proche. Les XML Schemas peuvent remplacer les DTDs dans le futur proche. XML Schemas sont extensibles pour le futur modification XML Schemas sont extensibles pour le futur modification XML Schemas sont plus riches que DTDs XML Schemas sont plus riches que DTDs XML Schemas fournissent des types de données XML Schemas fournissent des types de données

53 XML, DTD, XML Schema Tove Jani Reminder Hello World <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace=monns" xmlns= "monns" >

54 XML, DTD, XML Schema Tove Jani Reminder Hello World <note xmlns=monns xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation=monns note.xsd"> Tove Jani Reminder Don't forget me this weekend! Lutilisation dune DTD Lutilisation dun schéma XML

55 XSD : XML Schema Definition Lélément est lélément racine pour tout les XML schemas Lélément est lélément racine pour tout les XML schemas <xs:schema>...... </xs:schema>

56 XSD : XML Schema Definition Lélément peut contenir quelque attributs Lélément peut contenir quelque attributs <xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace= monns " xmlns= monns "......</xs:schema>

57 XSD : Attributs de lélément schema Indique que les éléments et les attributs utilisé dans le schéma (element, complexType, string,…) viennent de lespace du nom "http://www.w3.org/2001/XMLSchema" Spécifique que les éléments et les attributs qui viennent de cet espace du nom doit avoir xs comme le préfixe xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace=monns" Indique que les éléments définit par ce schéma (note, to, from, body, heading, body) viennent de lespace du nom monns

58 XSD : Attributs de lélément schema Indique que lespace du nom par défaut est monns xmlns= "monns"

59 Référence dun schéma dans XML <note xmlns=monns xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation=monns note.xsd"> Tove Jani Reminder Don't forget me this weekend!

60 Référence dun schéma dans XML monns Spécifique la déclaration lespace du nom par défaut. Tout les éléments dans ce XML ont déclaré dans lespace du nom monns xmlns=monns xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance Crée XML schema instance xsi:schemaLocation=monns note.xsd" La première valeur de cet attribut est le nom de lespace du nom utilisé La deuxième valeur de cet attribut est lendroit où se trouve le schéma

61 XSD : Elément Simple Lélément simple est un élément XML qui contient seulement des textes. Il ne peut pas contenir les autres éléments ou attributs Lélément simple est un élément XML qui contient seulement des textes. Il ne peut pas contenir les autres éléments ou attributs Text peut être les types de données Text peut être les types de données boolean, string, date, ou dénifir vous-même boolean, string, date, ou dénifir vous-même La syntaxe pour définir un élément simple La syntaxe pour définir un élément simple

62 Exemple : Elément Simple Mario 34 1968-03-27 XML XML Schema

63 Les types de donnée communs XML schema a beaucoup de types de données. Voici la liste des types le plus commun XML schema a beaucoup de types de données. Voici la liste des types le plus commun xs:string xs:string xs:decimal xs:decimal xs:integer xs:integer xs:boolean xs:boolean xs:date xs:date xs:time xs:time

64 Déclaration les valeur fixe ou par défaut pour les éléments simples Les éléments simples peuvent avoir une valeur par défaut OU une valeur fixe Une valeur par défaut Une valeur fixe Une valeur fixe

65 XSD attributs Tout les attributs déclarent comme le type simple Seulement les éléments complexes peuvent avoir les attributs La syntaxe pour définir un attribut Pour XML Pour XML Smith Smith

66 XSD attributs Déclaration une valeur par défaut Déclaration une valeur par défaut Déclaration une valeur fixe Déclaration une valeur fixe Déclaration un attribut optionnel Déclaration un attribut optionnel Déclaration un attribut obligatoire Déclaration un attribut obligatoire

67 Restriction dans XSD Restriction la valeur délément age entre 0 et 100 Restriction la valeur délément age entre 0 et 100

68 Restriction dans XSD Restriction sur lensemble des valeurs Restriction sur lensemble des valeurs

69 Restriction dans XSD Restriction sur lensemble des valeurs Restriction sur lensemble des valeurs

70 Restriction dans XSD Restriction sur la série des valeurs Restriction sur la série des valeurs

71 Restriction dans XSD Restriction sur les caractères blancs Restriction sur les caractères blancs Préservation des blancs Préservation des blancs

72 Restriction dans XSD Restriction sur les caractères blancs Restriction sur les caractères blancs Remplacement des blancs ( Remplacé tab, espaces, etc avec espace) Remplacement des blancs ( Remplacé tab, espaces, etc avec espace)

73 Restriction dans XSD Restriction sur les caractères blancs Restriction sur les caractères blancs Enlever tous les caractères blancs Enlever tous les caractères blancs

74 Restriction dans XSD Restriction sur la longueur Restriction sur la longueur

75 Restriction dans XSD Restriction sur la longueur Restriction sur la longueur

76 XSD : Élément Complexe Lélément complexe est un élément XML qui contient les autres éléments et/ou attributs Lélément complexe est un élément XML qui contient les autres éléments et/ou attributs Il y a 4 types des éléments complexes Il y a 4 types des éléments complexes Élément vide Élément vide Élément qui contient seulement des autres éléments Élément qui contient seulement des autres éléments Élement qui contient que des textes Élement qui contient que des textes Élément qui contient des autres éléments et des textes Élément qui contient des autres éléments et des textes

77 Exemple : Élément Complexe dans XML Lélément complexe produit qui est vide Lélément complexe produit qui est vide Lélément complexe employee qui contient seulement des autres éléments Lélément complexe employee qui contient seulement des autres éléments<employee> John Smith John Smith </employee> Lélément complexe food qui contient que des textes Lélément complexe food qui contient que des textes Ice cream Ice cream Lélément complexe description qui contient des autres éléments et des textes Lélément complexe description qui contient des autres éléments et des textes<description> It happened on 03.03.99.... It happened on 03.03.99....

78 Définir des types complexes pour des éléments vides

79 Définir des types complexe pour un élément John Smith

80 John Smith Définir des types complexe pour un élément

81 Définir des types complexe pour un élément

82 Définir des types complexes pour des éléments textes 35

83 Définir des types complexes pour des éléments mixes Dear Mr. John Smith. Your order 1032 will be shipped on 2001-07-13.

84 Définir des types complexe pour un élément

85 XSD : Indicateur de types complexes On a 7 types dindicateur On a 7 types dindicateur Indicateurs de lordre Indicateurs de lordre Tous (All) Tous (All) Choix (Choice) Choix (Choice) Séquence (Sequence) Séquence (Sequence) Indicateurs doccurrence Indicateurs doccurrence maxOccurs maxOccurs minOccurs minOccurs Indicateurs du groupe Indicateurs du groupe Nom de groupe Nom de groupe Nom dattribut du groupe Nom dattribut du groupe

86 Indicateur All Spécifique que des éléments fils peuvent apparaître en nimporte quel ordre et chaque élément fil doit produire seulement une seule fois Spécifique que des éléments fils peuvent apparaître en nimporte quel ordre et chaque élément fil doit produire seulement une seule fois

87 Indicateur Choice Spécifique quun élément fils ou un des autres éléments fils qui peut produire Spécifique quun élément fils ou un des autres éléments fils qui peut produire

88 Indicateur Sequence Spécifique que des éléments fils doivent produire en ordre Spécifique que des éléments fils doivent produire en ordre

89 Indicateur maxOccurs <xs:element name="child_name" type="xs:string" maxOccurs="10"/> Spécifique le nombre maximum de fois quun élément peut produire Spécifique le nombre maximum de fois quun élément peut produire

90 Indicateur minOccurs <xs:element name="child_name" type="xs:string" maxOccurs="10" minOccurs="0"/> Spécifique le nombre minimum de fois quun élément peut produire Spécifique le nombre minimum de fois quun élément peut produire

91 Exemple : XML + XSD <persons xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:noNamespaceSchemaLocation="family.xsd"> Hege Refsnes Cecilie Tove Refsnes Hege Stale Jim Stale Refsnes

92 Exemple : XML + XSD

93 Indicateur Group

94 Indicateur Attribute Group

95 XSD : Substitution délément John Smith John Smith

96 Exemple : XML + XSD <shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="shiporder.xsd"> John Smith Ola Nordmann Langgt 23 4000 Stavanger Norway Empire Burlesque Special Edition 1 10.90 Hide your heart 1 9.90

97 Exemple : XML + XSD Élément racine « shiporder » Élément racine « shiporder » orderperson, shipto, item sont les éléments fils du élément shiporder orderperson, shipto, item sont les éléments fils du élément shiporder Élément item peut être produire plusieurs fois Élément item peut être produire plusieurs fois name, address, city, country sont les éléments fils du shipto name, address, city, country sont les éléments fils du shipto title, note, quantity, price sont les éléments fils du item title, note, quantity, price sont les éléments fils du item Lélément note est optionel Lélément note est optionel orderid est attribut du élément shiporder orderid est attribut du élément shiporder

98 Exemple : XML + XSD Crée un XML schema Crée un XML schema <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">...

99 Exemple : XML + XSD Élément racine « shiporder » Élément racine « shiporder » <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">... …

100 Exemple : XML + XSD orderperson est un éléments fils du élément shiporder orderperson est un éléments fils du élément shiporder <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">... …

101 Exemple : XML + XSD shipto est un éléments fils du élément shiporder shipto est un éléments fils du élément shiporder <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> …... …

102 Exemple : XML + XSD name, address, city, country sont les éléments fils du shipto name, address, city, country sont les éléments fils du shipto <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">... …

103 Exemple : XML + XSD item est un éléments fils du élément shiporder item est un éléments fils du élément shiporder <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> … …

104 Exemple : XML + XSD item peut être produire plusieurs fois item peut être produire plusieurs fois <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> … …

105 title, note, quantity, price sont les éléments fils du item title, note, quantity, price sont les éléments fils du item <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> …

106 orderid est attribut du élément shiporder orderid est attribut du élément shiporder <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

107 XSLT XLS « eXtensible Stylesheet Language » XLS « eXtensible Stylesheet Language » XLST « XLS Transformations » XLST « XLS Transformations » Le but est pour transformer dun document XML à un autre document XML ou à un autre type du document (Ex : HTML) Le but est pour transformer dun document XML à un autre document XML ou à un autre type du document (Ex : HTML)

108 Lutilisation du XSLT <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> Document XSLT Lappel XSL à partie du document XML

109 Lélément Lélément <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> My CD Collection Title Artist. Empire Bob Dylan USA Columbia 10.90 1985 Hide your heart Bonnie Tyler UK CBS Records 9.90 1988

110 Lélément Lélément <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> My CD Collection Title Artist Empire Bob Dylan USA Columbia 10.90 1985 Hide your heart Bonnie Tyler UK CBS Records 9.90 1988

111 Lélément Lélément <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> My CD Collection Title Artist Empire Bob Dylan USA Columbia 10.90 1985 Hide your heart Bonnie Tyler UK CBS Records 9.90 1988

112 Filtrage la sortie On peut filtrer la sorties du XML en ajoutant une critère à lattribut select dans lélément On peut filtrer la sorties du XML en ajoutant une critère à lattribut select dans lélément Opérateur pour filtrage Opérateur pour filtrage = (égale) = (égale) != (non-égale) != (non-égale) < (inférieur) < (inférieur) > (superieur) > (superieur)

113 Lélément avec une filtre <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> My CD Collection Title Artist Empire Bob Dylan USA Columbia 10.90 1985 Hide your heart Bonnie Tyler UK CBS Records 9.90 1988

114 Lélément Lélément <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> My CD Collection Title Artist Empire Bob Dylan USA Columbia 10.90 1985 Hide your heart Bonnie Tyler UK CBS Records 9.90 1988

115 Lélément Lélément <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> My CD Collection Title Artist

116 Lélément Lélément <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> My CD Collection Title: Artist:


Télécharger ppt "Introduction au XML Choopan Rattanapoka Université Louis-Pasteur, Starsbourg."

Présentations similaires


Annonces Google