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

1 Les technologies XML Cours 1.2 : Introduction au langage XML (XML, DTD, XML-Schema) (XML, DTD, XML-Schema) Janvier 2009.

Présentations similaires


Présentation au sujet: "1 Les technologies XML Cours 1.2 : Introduction au langage XML (XML, DTD, XML-Schema) (XML, DTD, XML-Schema) Janvier 2009."— Transcription de la présentation:

1 1 Les technologies XML Cours 1.2 : Introduction au langage XML (XML, DTD, XML-Schema) (XML, DTD, XML-Schema) Janvier 2009

2 2 PRESENTATION DU COURS 1/2 0 : Rappel du HTML : pages statiques, styles, Javascript 1 : Introduction au langage XML : XML DTD XML-Schema 2 : XHTML 3 : Transformation de documents XML : XPath XSLT 4 :Présentation de documents XML : XSL Fo 5 : Langages XML Xquery XMI XUL

3 3 PROBLEMATIQUE 1/2 Informations et documents dans lentreprise Constat : Constat : Inflation du volume dinformations Coût et difficulté : Coût et difficulté : Difficultés à retrouver un document Coût induit par la gestion de documents

4 4 PROBLEMATIQUE 2/ : SGML 1991 : HTML 1998 : XML Objectifs adaptabilité, adaptabilité, intelligence, intelligence, gestion des liens gestion des liens simple, simple, portable, portable, gestion de liens gestion de liens puissance de SGML, puissance de SGML, simplicité du HTML simplicité du HTML Inconvénients complexe, complexe, difficilement portable difficilement portable non adaptable, non adaptable, non intelligent non intelligent

5 5 W3C Le WORLD WIDE WEB Consortium crée des standards pour le Web. Le W3C en 7 points… Accès universel (internationalisation, web mobile…) Accès universel (internationalisation, web mobile…) Web sémantique (RDF, XML…) Web sémantique (RDF, XML…) Confiance (signatures électroniques, collaboratif…) Confiance (signatures électroniques, collaboratif…) Intéropérabilité (consensus industriel) Intéropérabilité (consensus industriel) Evolutivité (simplicité, modularité, compatibilité…) Evolutivité (simplicité, modularité, compatibilité…) Décentralisation (systèmes répartis, tolérance aux erreurs) Décentralisation (systèmes répartis, tolérance aux erreurs) Multimédia (SVG, SMIL…) Multimédia (SVG, SMIL…) Pour plus dinformations :

6 6 CARACTERISTIQUES Richesse sémantique de SGML Compatible SGML Compatible SGML Dédié au traitement des données Dédié au traitement des données Soutenant une grande variété dapplications Soutenant une grande variété dapplications Assurant un entretien aisé Assurant un entretien aisé Intelligent Intelligent Facilité de mise en œuvre de HTML Simple et lisible Simple et lisible Portable et facilement utilisable sur Internet Portable et facilement utilisable sur Internet Assurant un développement aisé Assurant un développement aisé

7 7 DEFINITION 1/2 eXtensible Markup Language Recommandation (norme) du W3C Recommandation (norme) du W3C Spécifiant un langage Spécifiant un langage Constitué dun ensemble déléments appelés balises Constitué dun ensemble déléments appelés balises Utilisable pour créer dautres langages Utilisable pour créer dautres langages 2 concepts fondamentaux Structure, contenu et présentation sont séparés Structure, contenu et présentation sont séparés Les balises ne sont pas figées Les balises ne sont pas figées

8 8 DEFINITION 2/2 Conséquences : XML est un format de document XML est un format de document XML est un format de données XML est un format de données XML est un mode de structuration de linformation XML est un mode de structuration de linformation XML est un méta-langage XML est un méta-langage

9 9 Exemple (1) Ma chanson (identification de la définition d'un terme) Ma chanson (identification de la définition d'un terme)

    par l'auteur par l'auteur Producteur : Dupond Producteur : Dupond Editeur : Maison edition Editeur : Maison edition Duree : 6:20 Duree : 6:20 Date : 1978 Date : 1978 Artiste : Toto Artiste : Toto
ExHTML6.html

10 10 Exemple (2) XML Ma chanson Ma chanson par lauteur par lauteur Dupond Dupond Maison edition Maison edition 6:20 6: Toto Toto Balises propriétaires compréhensibles à la profession, dérivation des langages proprétaires. XML sépare le contenu de son aspect ( à la différence de HTML ou tout peut être mélangé)

11 11 APPLICATIONS 1/2 GED et Gestion de Contenu : GED traditionnelle : statique, redondante, lourde GED traditionnelle : statique, redondante, lourde Apports dXML : dynamique, cohérence, intelligence Apports dXML : dynamique, cohérence, intelligence EDI : Exploitation des données : complexe, rigide Exploitation des données : complexe, rigide Apports dXML : simplicité, flexibilité, intelligence Apports dXML : simplicité, flexibilité, intelligence

12 12 APPLICATIONS 2/2 Interopérabilité de SI hétérogènes : Architectures existantes : complexité, dépendances Architectures existantes : complexité, dépendances Apports dXML : simplicité, flexibilité, indépendance Apports dXML : simplicité, flexibilité, indépendance Commerce électronique : Exploitation de linformation : complexe, statique Exploitation de linformation : complexe, statique Apports dXML : relation client personnalisée Apports dXML : relation client personnalisée

13 13 STRUCTURE DUN DOCUMENT XML

14 14 SPECIFICATIONS DU LANGAGE XML Résumé des spécifications : Un document doit commencer par une déclaration XML Un document doit commencer par une déclaration XML Toutes les balises avec un contenu doivent être fermées Toutes les balises avec un contenu doivent être fermées Toutes les balises sans contenu doivent se terminer par les caractères /> Le document doit contenir un et un seul élément racine Les balises ne doivent pas se chevaucher Les valeurs dattributs doivent être entre guillemets La casse doit être respectée pour toutes les occurrences de noms de balise (MAJUSCULES ou minuscules). Un document respectant ces critères est dit bien formé

15 15 DTD = Document Type Definition La DTD fournit : la liste des éléments, la liste des attributs, des notations et des entités du document XML associé ainsi que les règles des relations qui les régissent. DEFINITIONS DE TYPES DE DOCUMENT 1/5

16 16 DEFINITIONS DE TYPES DE DOCUMENT 2/5 La DTD est déclarée dans le document XML par la balise !DOCTYPE Elle peut être : incluse dans le code source du fichier XML, ou DTD interne : décrite dans un fichier externe, ou DTD externe :

17 17 DEFINITIONS DE TYPES DE DOCUMENT 3/5 Exemple de DTD interne FrançoisElisabeth Comme vous définissez une DTD interne, votre fichier est indépendant (standalone). Début de la DTD interne avec parent comme élément de racine. Lélément racine parent contiendra les sous-éléments garcon et fille. #PCDATA indique au Parser XML que l'élément garcon contient des données exprimées en chiffres ou en lettres. Idem pour l'élément fille. Fin de la DTD Racine du document XML. Fin du document XML.

18 18 DEFINITIONS DE TYPES DE DOCUMENT 4/5 Exemple de DTD externe : reprise de lexemple précédent, en version DTD externe FrançoisElisabeth Fichier XML. Comme vous définissez une DTD externe, votre fichier nest plus indépendant (standalone). Déclaration de la DTD externe dans le Fichier parent.dtd. Racine du document XML. Fin du document XML. Fichier parent.dtd Lélément racine parent contiendra les sous-éléments garcon et fille. #PCDATA indique au Parser XML que l'élément garcon contient des données exprimées en chiffres ou en lettres. Idem pour l'élément fille.

19 19 DEFINITIONS DE TYPES DE DOCUMENT 5/5 La DTD contient : Une ou plusieurs définitions déléments introduites par la balise !ELEMENT : Une ou plusieurs listes dattributs introduites par la balise !ATTLIST : Une ou plusieurs définitions dentité introduites par la balise !ENTITY : ou

20 20 DTD : ELEMENTS 1/4 Chaque balise dun document XML valide doit être déclarée à laide dun élément dans la DTD associée. Un élément est défini par la balise !ELEMENT : Où : nom-élément est une balise du document XML valeur-élément prend lune des trois formes: (contenu) Déclaration dun élément à contenu explicite. Exemple : EMPTY Déclaration dun élément vide. Utilisé en HTML pour les sauts de ligne (BR), image, filet horizontal (HR) etc. Exemple : ANY Déclaration dun élément pouvant contenir tout type de donnée. Exemple :

21 21 DTD : ELEMENTS 2/4 Contenu explicite : Combinaison dun ou plusieurs items : Mot-clé #PCDATA (Parsed Character Data) : le contenu est une chaîne de caractères Nom dun autre élément de la DTD Chaque item peut être suivi par un caractère facultatif doccurrence : ? : litem apparaît zéro ou au plus une fois + : litem apparaît au moins 1 fois * : litem apparaît zéro fois ou plus Les items sont séparés par : Le caractère virgule «, » si les 2 items sont tous deux inclus dans le contenu Le caractère pipe « | » si le contenu est un choix entre les 2 items Les items peuvent être regroupés à laide de parenthèses pour définir des ordres de priorité ou doccurrence

22 22 DTD : ELEMENTS 3/4 Exemples Définition dun élément agenda composé de zéro ou plus éléments contact. Définition dun élément contact, composé de trois éléments : nom, prenom (facultatif), telephone (au moins 1 fois) Définition dun élément nom contenant une chaîne de caractères Idem pour élément prenom Idem pour élément telephone Définition dun élément image de contenu vide

23 23 DTD : ELEMENTS 4/4 Exemples

24 24 DTD : ATTRIBUTS 1/3 Les balises ouvrantes et les balises vides peuvent contenir des couples nom-valeur des attributs XML : Hello everybody Hello everybody Les attributs possibles dun élément du document XML sont déclarés dans la DTD associée. nom valeur

25 25 DTD : ATTRIBUTS 2/3 Déclaration dans la DTD par la balise !ATTLIST : Où : nom-élément est le nom dun élément défini dans la DTD par la balise !ELEMENT attribut est le nom de lattribut présentement défini pour lélément nom-élément type peut prendre lune des valeurs: CDATA : la valeur correspond au contenu de lélément (choix1|choix2|…) : la valeur doit être lune des choix énumérés ID : la valeur est un identifiant unique ENTITY : la valeur est une entité valeur-défaut prend lune des valeurs : valeur : valeur par défaut donnée à lattribut #REQUIRED : attribut obligatoire, sans valeur par défaut #IMPLIED : attribut optionnel, sans valeur par défaut #FIXED valeur : valeur fixe

26 26 DTD : ATTRIBUTS 3/3 Exemples : Définition dun carré et de son attribut largeur : DTD : XML : Liste de moyens de paiement: DTD XML

27 27 DTD : ENTITES 1/3 Définition et rappel dune entité XML Une entité est une variable utilisée pour définir du texte. L'intérêt d'une entité consiste à pouvoir remplacer autant de fois que nécessaire dans le document XML l'entité par le texte qui lui est associé. Dans le document XML, la référence à une entité est introduite par le caractère "&" suivi du nom de lentité, et terminée par le caractère ";". Il existe 5 entités prédéfinies en XML : lt, gt, amp, apos et quot (caractères & ' ") Une entité est définie avec la balise !ENTITY, et dite: Interne si sa valeur est donnée dans la DTD Externe si sa valeur est fournie dans un fichier externe à la DTD

28 28 DTD : ENTITES 2/3 Exemple de document XML avec DTD interne et entité interne "titre" : &titre;

29 29 DTD : ENTITES 3/3 Exemple de document XML avec DTD interne et entité externe "chapitre1" : Titre du livre &chapitre1; Contenu du fichier "chapitre1.xml" : titre du chapitre 1 1ère section 2ème section

30 30 DEFINITIONS DE TYPES DE DOCUMENT 1/2 Résumé des spécifications : Une DTD (grammaire) permet de déclarer : Une DTD (grammaire) permet de déclarer : un type délément, une liste dattribut dun élément, une entité Chaque balise du langage doit faire lobjet dune et dune seule déclaration Chaque balise du langage doit faire lobjet dune et dune seule déclaration Un document XML est dit valide sil possède une DTD et si sa syntaxe est conforme aux règles de la DTD Un document valide est obligatoirement bien formé

31 31 DEFINITIONS DE TYPES DE DOCUMENT 2/2 Espaces de nom XML Namespaces est une recommandation permettant dutiliser le vocabulaire (les balises) de 2 DTD distinctes sans risque dambigüité. XML Namespaces est une recommandation permettant dutiliser le vocabulaire (les balises) de 2 DTD distinctes sans risque dambigüité. Inconvénients des DTD : Une DTD est difficile à lire Une DTD est difficile à lire Une DTD est non extensible (ce nest pas un document XML). Une DTD est non extensible (ce nest pas un document XML). Une DTD ne permet pas de typer les données Une DTD ne permet pas de typer les données Une DTD ne peut prendre en compte quun seul espace de nom (Namespace). Une DTD ne peut prendre en compte quun seul espace de nom (Namespace).

32 32 XML-SCHEMA 1/4 En réponse aux lacunes des DTD, une alternative a été proposée comme recommandation : il sagit de XML-Data dont XML-Schema est un sous-ensemble. Cette nouvelle norme achève de faire dXML un format pivot… La version 1.1 de XML Schema (datée de mai 2001) se compose de 3 normes : XML Schema tome 0 : Introduction XML Schema tome 0 : Introduction XML Schema tome 1 : Structures XML Schema tome 1 : Structures XML Schema tome 2 : Types de données XML Schema tome 2 : Types de données

33 33 XML-SCHEMA 2/4 Les documents XML-Schema sont des documents : respectant la syntaxe XML, respectant la syntaxe XML, permettant de décrire la structure dun document XML dune façon beaucoup plus complète que les DTD. permettant de décrire la structure dun document XML dune façon beaucoup plus complète que les DTD. XML-Schema permet en effet de : spécifier la typologie des données que va contenir le document XML décrit par le XML-Schema, spécifier la typologie des données que va contenir le document XML décrit par le XML-Schema, gérer une quarantaine de types de données simples, gérer une quarantaine de types de données simples, gérer des types complexes, gérer des types complexes, gérer les occurrences des données. gérer les occurrences des données.

34 34 XML-SCHEMA 3/4 Exemple de document XML-Schema :

35 35 XML-SCHEMA 4/4 Référence à un XML-Shema dans un document XML : Référence à un XML-Shema dans un document XML : Lespace de nommage xsi correspond aux instances de documents XML respectant les contraintes définies dans un document XML-Schema. Le W3C a défini une librairie de balises et attributs pouvant être utilisés par ces documents.

36 36 Constituants dun XML-SCHEMA 1/8 Déclaration de lentête : Lélément permet de déclarer un document XML-Xchema. Lélément permet de déclarer un document XML-Xchema. Lattribut targetNamespace permet de préciser lespace de nommage de ce type de documents. Lattribut elementFormDefault précise si les documents XML respectant cette grammaire doivent référer à cet espace de nommage.

37 37 Constituants dun XML-SCHEMA 2/8 Déclaration des types de données : Il est possible de déclarer un type de données Il est possible de déclarer un type de données soit dans la déclaration dun élément (local) soit hors de la déclaration de lélément (global) XML-Schema permet dutiliser des données : XML-Schema permet dutiliser des données : de type prédéfini (string, int…) de type complexe dont le type est une restriction de type dont le type est une extension de type

38 38 Constituants dun XML-SCHEMA 3/8 Déclaration des types de données : Types prédéfinis : Types prédéfinis : byte, unsignedByte, hexBinary, integer, positiveInteger, negativeInteger, int, unsignedInt, long, unsignedLong, short, unsignedShort, decimal, float, double… string, NormalizedString, token boolean, anyURI, language time, dateTime, duration, date, gMonth, gYear, gYearMonth, gDay, gMonthDay ID, IDREF, IDREFS, ENTITY, ENTITIES, NOTATIN, NMTOKEN, NMTOKENS Exemple : Exemple :

39 39 Constituants dun XML-SCHEMA 4/8 Déclaration des types de données : Types complexes : Types complexes : Exemple : le type de données TypeAdresse se compose de 6 éléments Numero, Rue1, Rue2, Ville, CP et Pays :

40 40 Constituants dun XML-SCHEMA 5/8 Déclaration des types de données : Restriction de type existant : Restriction de type existant : Exemple : le type de données string comprend 6 attributs optionnels : pattern, enumeration, length, minlength, maxlength, whitespace. Si on désire représenter un choix Oui/Non (restriction sur lattribut enumeration) :

41 41 Constituants dun XML-SCHEMA 6/8 Déclaration des types de données : Extension / dérivation de type existant : Extension / dérivation de type existant : Exemple : si lon souhaite créer un type Personne contenant en plus du nom et du prénom, un élément de type Adresse (extension du type Adresse vu précédemment) :

42 42 Constituants dun XML-SCHEMA 7/8 Déclaration des éléments :

43 43 Constituants dun XML-SCHEMA 8/8 Déclaration des attributs :

44 44 Conclusion : DTD versus XML-SCHEMA La DTD permet de définir facilement et rapidement des grammaires simples. XML-Schema permet de définir de manière plus formelle et complète une grammaire mais cest au prix dune complexité accrue. Un document XML-Schema respecte la syntaxe XML. Un document XML-Schema est généralement plus volumineux et plus difficile à lire quune DTD (pour un opérateur humain).

45 45 Exemple de XML-XSD Chateau Bellevue Chateau Bellevue 12 Rue du Pont 12 Rue du Pont Chateau Le Bernadot Chateau Le Bernadot 21 Avenue du Cygne 21 Avenue du Cygne

46 46 XSD

47 47


Télécharger ppt "1 Les technologies XML Cours 1.2 : Introduction au langage XML (XML, DTD, XML-Schema) (XML, DTD, XML-Schema) Janvier 2009."

Présentations similaires


Annonces Google