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 Introduction à XML IUT GTR / Axway Sopra Group. Denis Viollet / Lionel Baylot Juin 2004.

Présentations similaires


Présentation au sujet: "1 Introduction à XML IUT GTR / Axway Sopra Group. Denis Viollet / Lionel Baylot Juin 2004."— Transcription de la présentation:

1 1 Introduction à XML IUT GTR / Axway Sopra Group. Denis Viollet / Lionel Baylot Juin 2004

2 2 Origines de XML n XML (eXtensible Markup Language) est en quelque sorte un langage HTML amélioré permettant de définir de nouvelles balises contrairement à HTML où le nombre de balises est limité. Html décrit la présentation et le contenu, Xml ne décrit que le contenu

3 3 Origines de XML n SGML (Standard Generalized Markup Langage) u Issu de 30 ans de recherche dans le domaine des documents u développé par l’ISO au début des années 80 u Usage : standard (ISO 8879) de fait dans le milieu de la gestion documentaire. F (utiliser dans le domaine de la documentation technique. u Langage puissant, mais très complexe. n Propriétés SGML Langage de balisage extensible (en anglais Extensible Markup Language) Méta-langage Permet de définir des langages de représentation de données structurées et évolutifs.

4 4 Origines de XML n HTML u Est une application très populaire de SGML, u Développement a commencé en 1990, u Caractéristiques : F HTML est un langage de présentation de données, F HTML est un langage de balises non extensibles, F HTML mélange les informations : De Présentation, de Contenu, de Structure  HTML : Standard de présentation des documents et applications Web  Navigateurs web ( Browser ) : Interpréteur universel de page HTML

5 5 Origines de XML n World Wide Web Consortium (W3C) u 420 membres à travers le monde u Développer les technologies de base du Web u Ouverture et consensus u Gère une cinquantaine de projet. n XML Working Group (1996) : u Travail pour créer un langage simplifié dérivé du SGML, u Qui répond à la même problématique : Permet de définir des langages de représentation de données structurées et évolutifs.

6 6 XML, pourquoi faire ? « […] un système d ’information relié universellement, dans lequel généralisation et portabilité sont plus importants que graphisme avenants et autres fonctionnalités complexes » Tim Berners-Lee n De la page personnel au e-commerce…

7 7 XML, pourquoi faire ? n Définition du e-commerce : u Échanges d ’informations au sein d ’une entreprise décentralisée, u Échanges de données d ’informations sur les transactions financières (cartes de crédit, bancaires, etc.), u Échanges de données concernant les transactions médicales entre patients, hôpitaux, médecins et compagnie d ’assurance, u Distribution de logiciels via le web, paiement au service.

8 8 XML, pourquoi faire ? n XML facilite les échanges B2B u XML est utilisé comme langage de description et d'échange de données entre partenaires. u Exemples RossettaNet : Utilisé par les constructeurs de matériels informatique pour échanger avec leurs partenaires / sous traitants Amazon.com, Vente d ’articles, livres, CD, DVD, logiciels depuis une page web. XML Echange SI 1 SI 2 Extraction/ Transformation Transformation/ Importation

9 9 XML, pourquoi faire ? n Standard d’échange entre Applications dans le S.I. u Accessible par n’importe quel composant du système, u Simple à manipuler par n’importe quel programme, u Universel : Promu par l’ensemble des éditeurs sans exception, SGBD XML Progiciel intégré Application métier XNet

10 10 Les limites du HTML n Le HTML manque de structure u Utilisation des balises d ’en-tête ordonnées (de H1 à H6) et possibilité de blocs imbriqués à l ’intérieur de balises DIV n Le HTML ne tient pas compte du contenu u Ne permet de décrire le contenu des informations. u Création de balises personnalisées en XML n Le HTML n ’est pas international u Propositions ont été faites pour identifier la langue n Le HTML ne convient pas aux échanges de données u Absence sémantique et peu de balises utilisées

11 11 Avantages de XML n La solution Xml u Lisibilité : aucune connaissance ne doit théoriquement être nécessaire pour comprendre le contenu d'un document XML u Autodescriptif et extensible u Structure arborescente : permettant de modéliser la majorité des problèmes informatiques u Universalité et portabilité : les différents jeux de caractères sont pris en compte

12 12 Avantages de XML u Déployable : il peut être facilement distribué par n'importe quels protocoles à même de transporter du texte, comme HTTP u Intégralité : un document XML est utilisable par toute application pourvue d'un parser (c'est-à-dire un logiciel permettant d'analyser un code XML) u Extensibilité : un document XML doit pouvoir être utilisable dans tous les domaines d'applications XML est particulièrement adapté à l'échange de données

13 13 Anatomie d’un document XML n Le balisage consiste à ajouter à des informations des caractères qui pourront servir à traiter ces informations d ’une manière définie. u Une simple virgule (,) peut être interprétée comme caractère de séparation, u La DTD du Text Encoding Initiative est une forme plus complexe de balisage qui permet d ’effectuer la transcription de manuscrits anciens, u Les fichiers de traitement de texte comprennent des balises (ex. MSWord, WordPerfect, etc.).

14 14 Anatomie d’un document XML Ma page d'accueil Bienvenue sur ma page d'accueil Desole, cette page est en construction. A bientot !

15 15 Anatomie d’un document XML

16 16 Ma page d'accueil Bienvenue sur ma page d'accueil Desole, cette page est en construction. A bientot ! Anatomie d’un document XML Déclaration Élément racine Un élément vide Des attributs

17 17 Anatomie d’un document XML n Balises u Nom de balise ouvrante = nom de balise fermante n Déclaration XML u Identifie que ce qui suit est du code XML n Élément racine u Un document XML ne doit avoir qu ’un seul élément racine. Tous les autres doivent être inclus à l ’intérieur. n Élément vide n Les attributs u Un ou plusieurs attributs facultatifs ou obligatoires, définis dans la balise ouvrante de l ’élément

18 18 Structure logique des éléments XML page d ’accueil en-tête titre bannière corps titre1 ligne texte para Pied de page Élément racineÉléments frères « siblings »

19 19 Syntaxe XML n un élément peut avoir différents types de contenu : u d ’autres éléments u du texte u être vide n un élément quelconque est délimité par une balise de début et une balise de fin:... n un élément vide peut avoir 2 formes : u ne pas avoir de contenu: u être formé d'une balise unique:

20 20 Syntaxe XML Les séparateurs de balisage Balisage d ’éléments

21 21 Syntaxe XML n un attribut XML : u Permet de représenter des informations supplémentaires relatives à un élément u Est placé dans la balise de début ou dans la balise unique d'un élément u Est composé d'un couple nom/valeur

22 22 Syntaxe XML Spécification d ’un attribut

23 23 Syntaxe XML n Règles d ’affectation des noms u Un nom consiste en au moins une lettre: de a à z, ou de A à Z, u Si plus d ’un caractère, le nom peut commencer par un trait de soulignement (_) ou deux points (:), u Les espaces et et les tabulations ne sont pas permis dans les noms d ’éléments. Seuls signes de ponctuation permis sont le tiret (-) et le point (.). Cela_est_un_nom_long est par exemple interdit... n Les commentaires u exemple de commentaire

24 24 Syntaxe XML n Les sections CDATA (Character DATA) u Une section CDATA permet de masquer du texte que le processeur XML (parser) pourrait interpréter comme du balisage. u Une section CDATA constitue une méthode à privilégier pour incorporer du code d ’applications (JavaScripts, Vbasic, Perl, etc.) dans votre code XML.

25 25 Syntaxe XML n Les sections CDATA (Character DATA)

26 26 Syntaxe XML n Exemple d ’appel d ’entité interne Installation de Axway Integration Platform Copyright (c) Axway Software, 2004, &contrat;

27 27 Syntaxe XML n Exemple d ’appel d ’entité interne

28 28 DTD ( D ocument T ype D efinition) Qu’est ce qu’une DTD ? n XML permet d'utiliser un fichier afin de vérifier qu'un document XML est conforme à une syntaxe donnée n une DTD est une grammaire permettant de vérifier la conformité du document XML n la norme XML n'impose pas l'utilisation d'une DTD pour un document XML, mais elle impose par contre le respect exact des règles de base de la norme XML

29 29 DTD - Exemple Définition d’une grammaire définissant la structure d’un « carnet d’adresse »

30 30 DTD - Appels d ’entités n Appels d ’entités u Entités internes : F Permettent d ’éviter de saisir une grandes quantité de caractères superflus, F Peuvent être considérées comme des sortes de macros. u Entités externes : F Objets externes tels qu ’une adresse URL ou un fichier graphique prévu pour figurer dans le documents XML,

31 31 DTD - Éléments Exemple d ’appel d ’entité interne Sydney Vaughn Reminder Don't forget me this weekend

32 32 DTD - Éléments n Exemple d ’appel d ’entité externe  Appel dentité externe dans un document XML Sydney Vaughn Reminder Don't forget me this weekend!  Fichier «note.dtd» contenant la DTD

33 33 DTD - Éléments n Pour pouvoir créer un document XML il est utile dans un premier temps de définir les éléments pouvant être utilisés : u Déclaration d ’une entité :

34 34 DTD - Éléments  Élément vide, sans contenu ( EMPTY ) exemple : exemple de document XML correspondant :  Élément de contenu quelconque ( ANY ) exemple :

35 35 DTD - Éléments  Élément dont le contenu est une séquence de caractères ( #CDATA ) F Pas de traitement du contenu par le parser  Élément dont le contenu est une séquence de caractère « parsé » ( #PCDATA ) F Les marqueurs et les entités figurant dans la séquence de caractères sont traités par le parser.

36 36 DTD - Éléments u Elément comprenant des fils (séquences) et une seule occurrence de chaque (1,1) ou exemple : u … il devra obligatoirement être de la forme :

37 37 DTD - Éléments u Contenu comprenant au moins une occurrence d ’un même élément (1,N) exemple : u Contenu pouvant comprendre plusieurs occurrences d ’un même élément (0,N) exemple : u Contenu pouvant comprendre une occurrence d ’un élément (0,1) exemple :

38 38 DTD - Éléments u Déclaration de contenu à base de ET / OU exemple : u Déclaration de contenu mixte exemple :

39 39 DTD - Éléments n D'autre part, il est possible de définir des règles d'utilisation, c'est-à-dire les éléments XML qu'un élément peut ou doit contenir :

40 40 DTD - Attributs n Il est possible de définir les attributs d’un élément à l’intérieur d ’une DTD u Une déclaration d'attributs spécifie la liste d'attributs associés à un élément et a la forme exemple DTD : exemple XML :

41 41 DTD - Attributs F attribute-type :  delault-value :

42 42 DTD - Attributs u Attribut par défaut exemple de DTD : document XML valide : u Attribut optionnel exemple de DTD : document XML valide : ou

43 43 DTD - Attributs u Attribut obligatoire exemple de DTD : document XML valide : document XML invalide : u Attribut « fixé à la valeur » exemple de DTD : document XML valide : document XML invalide :

44 44 DTD - Attributs u Attribut de type énuméré exemple de DTD : exemple XML : ou

45 45 DTD - Exemple Exemple de DTD :

46 46 DTD / Schémas - Avantages et inconvénients n Insuffisances des DTD : u Pas écrites en XML (2 langages différents à maîtriser) u Support des types de données est très limité (10 types). u Permettent pas de définir des vocabulaires complets et évolutifs n Avantages des Schémas : u Type données : (39 types prédéfinis), créer ses propres types. u Orienté objet : Notion de dérivation de types. u Écrit en XML : Pas besoin d’apprendre un autre langage, Transformer et manipuler un Schéma avec les outils XML

47 47 DTD / Schémas - Avantages et inconvénients SchémaDTD

48 48 Représentations Xml n Il existe deux représentations d’un document XML u Forme sérialisée : c’est la forme courante où le contenu est marqué par des balises u Forme arborescente : elle met en évidence la structure du document

49 49 Représentations Xml n La représentation sérialisée permet : u Le stockage de données sous forme fichier u L’échange de documents - Epée de Bois 100, rue Mouffetard Censier-Daubenton

50 50 Représentations Xml n La représentation arborescente est utilisée par certaines applications qui gèrent l’ensemble du document en mémoire (parsers, éditeurs,…)

51 51 Représentations Xml n Un document XML est structuré sous forme d’arbre :

52 52 Parsing XML n La récupération des données encapsulées dans le document nécessite un outil appelé analyseur syntaxique (en anglais parser), permettant de parcourir le document et d'en extraire les informations qu'il contient. On passe ainsi de la forme sérialisée à la forme arborescente permettant à un programme de parcourir le document Xml pour extraire les données

53 53 Parsing XML n On distingue deux types de parseurs XML : u Les parseurs validants (validating) permettant de vérifier qu'un document XML est conforme à sa DTD u Les parseurs non validants (non-validating) se contentant de vérifier que le document XML est bien formé (c'est-à-dire respectant la syntaxe XML de base)

54 54 Parsing XML n Type de Parseurs : u DOM (Document Objet Model) : F Construction d’une représentation interne sous forme d'arbre. F Fourni une API qui permet par programmation : De construire des documents. De naviguer dans leur structures. De mettre à jour les éléments. u SAX : Simple Access XML F Lecture du document en entrée, reconnaissance et interprétation des balises au fur et à mesure F Aucun stockage d'informations F Utilisations : Recherche dans un document XML volumineux. Echange continue d’un flux XML entre deux systèmes.

55 55 Parsing XML n SAX est une API basée sur un modèle événementiel, cela signifie que SAX permet de déclencher des événements au cours de l'analyse du document XML. Une application utilisant SAX implémente généralement des gestionnaires d'événements, lui permettant d'effectuer des opérations selon le type d'élément rencontré u soit le document XML suivant : Baylot Lionel

56 56 Parsing XML n Les événements générés par Sax sont : start document start element: personne start element: nom characters: Baylot end element: nom start element: prenom characters: Lionel end element: prenom end element: personne end document

57 57 Parsing XML n DOM est une spécification du W3C (World Wide Web Consortium) définissant la structure d'un document sous forme d'une hiérarchie d'objets, afin de simplifier l'accès aux éléments constitutifs du document u DOM permet à une application de parcourir la structure du document et d'agir dynamiquement sur celui-ci

58 58 Parsing XML n DOM construit en mémoire une représentation arborescente du document où : u chaque nœud est un objet de type Node u chaque catégorie syntaxique est représentée par un sous-type de Node u la racine est un nœud spécial, de type Document

59 59 Parsing XML n Exemple de représentation DOM :

60 60 Parsing XML u L’ensemble du document est représenté par un nœud de type Document : c’est la racine du document u Ce nœud peut avoir plusieurs fils, dont un et un seul de type Element : c’est l’élément racine u Quelques exemples de fonctions DOM disponibles : insertBefore() (Node nouv, Node fils) replaceChild() (Node nouv, Node ancien) removeChild() (Node fils) boolean hasChildNodes()() createElement(), createComment(), …

61 61 Parsing XML n Un traitement DOM s’effectue en trois phases u Un arbre vierge est créé en mémoire ou il est créé en important un document Xml sérialisé u Des manipulations de cet arbre sont effectuées u L’arbre modifié est sérialisé à nouveau (par exemple pour être stocké)

62 62 n Il existe plusieurs sérialisations possibles pour un même document : u ainsi cet arbre peut donner 3 versions sérialisées « différentes » :

63 63 texte texte 1 < 2 1 < 2 texte texte texte texte &file; &file;

64 64 Parsing XML n Exemple de programme DOM : u le programme prend en argument un nom de fichier contenant un document XML u il analyse ce document avec un parser DOM (ici xerces) u il parcourt ensuite les nœuds du document et numérote les nœuds de type Text par leur position dans l’arbre u ensuite le document modifié est à nouveau sérialisé

65 65 XSL ( e X tensible S tyleSheet L anguage ) n Mise en page avec XSL (eXtensible StyleSheet Language) : u XML est un langage de structuration des données, et non de représentation des données. u XSL est un langage pour effectuer la représentation des données de documents XML. u XSL est lui-même défini avec le formalisme XML, cela signifie qu'une feuille de style XSL est un document XML bien formé

66 66 XSL n Il est donc possible à partir d'un document XML de créer des documents utilisant différentes représentations (HTML pour créer des pages web, WML pour les mobiles WAP,...) n XSL est essentiellement utilisé pour transformer du XML en HTML mais il est aussi capable de générer des documents PDF, un autre document XML ou texte, par exemple

67 67 XSL n Avantages du tandem XML – XSL : u La modification de l’aspect d’une page Web n’implique que la modification du XSL u L’ajout d’une nouvelle donnée ou d’un nouveau champ nécessite simplement l’ajout d’un nouvel élément dans le XML u Les pages Web sont dynamiques et c’est primordial quand le contenu d’une page n’est pas connu d’avance

68 68 XSL n XSL possède 2 composantes : u Le langage de transformation des données (XSLT, eXtensible Stylesheet Transformation) permettant de transformer la structure des éléments XML u Le processeur XSLT crée une structure arborescente à partir du document XML et lui fait subir des transformations selon les template rules contenues dans la feuille XSL pour produire un arbre résultat représentant, par exemple, la structure d'un document HTML u Le langage de formatage des données (XSL/FO), c'est-à-dire un langage permettant de définir la mise en page (affichage de texte ou de graphiques) de ce qui a été créé par XSLT

69 69 XSL Fichier XML Fichier XSL Fichier HTML, XML, texte, ou autre. Processeur XSL

70 70 XSL Fichier XSL Fichier XML Fichier HTML Xerces Fichier DTD Xalan

71 71 XSL n Structure d’un document XSL : u Un document XSL étant un document XML, il commence obligatoirement par la balise suivante : u Toute feuille de style XSL est comprise entre les balises et u La balise xsl:stylesheet encapsule des balises xsl:template définissant les transformations à faire subir à certains éléments du document XML

72 72 XSL n Une feuille de style XSL (enregistré dans un fichier dont l'extension est.xsl) peut être liée à un document XML (de telle manière à ce que le document XML utilise la feuille XSL) en insérant la balise suivante au début du document XML :

73 73 XSL n Syntaxe : Titre de la page -

74 74 XSL n Signification de cette feuille XSL :  Le premier tag permet d'appliquer une transformation à l'ensemble du document (la valeur "/" de l'attribut match indique l'élément racine du document XML). Ce tag contient des balises HTML qui seront transmises dans l'arbre résultat  L'élément indique le traitement de tous les enfants directs de la racine.  La balise permet d'aller traiter les éléments de type personne  Enfin les deux éléments et permettent de récupérer les valeurs des balises nom et prenom

75 75 XSL n Exemple : u Voici un exemple de ce qu’il faut écrire en HTML pour obtenir un répertoire d’adresses sur Internet : u ex.html u On remarque d’ores et déjà que le code HTML à écrire n’est pas clair car les informations et la mise en page sont mélangées

76 76 XSL u Le XML suivant contient les mêmes informations que la page HTML, mais il présente les avantage suivants : F l’information et la mise en page (les données et les traitements) ne sont pas mélangées  la présence de la DTD permet de vérifier la syntaxe du document ( repertoire.dtd ) F on peut par exemple, vérifier que l’on n’a pas oublié le numéro de téléphone d’une personne lorsque celui-ci a été défini comme obligatoire dans la DTD F  cf. ex.xml

77 77 XSL u Le XSL suivant permet de transformer les données du répertoire décrit en XML en fichier HTML cf. ex.xsl


Télécharger ppt "1 Introduction à XML IUT GTR / Axway Sopra Group. Denis Viollet / Lionel Baylot Juin 2004."

Présentations similaires


Annonces Google