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

CHAPITRE 6 INTRODUCTION A XML. Plan Historique XML Exo 1 DTD Exo 2 XSL Exo 3 SAX DOM.

Présentations similaires


Présentation au sujet: "CHAPITRE 6 INTRODUCTION A XML. Plan Historique XML Exo 1 DTD Exo 2 XSL Exo 3 SAX DOM."— Transcription de la présentation:

1 CHAPITRE 6 INTRODUCTION A XML

2 Plan Historique XML Exo 1 DTD Exo 2 XSL Exo 3 SAX DOM

3 Les TP Exo 1 : Ecrire un document XML valide Exo 2 : Ecrire la DTD Exo 3 : Ecrire une feuille de style XSL

4 1. Généralités - Historique XML signifie Extensible Markup Language C est standard reconnu par le W3C depuis février 1998, Il est dérive du SGML dont il représente un sous ensemble, Il avait pour intérêt initial de faciliter l échange de données informatique en remplaçant l EDI. La version 1.0 est disponible depuis 1998

5 1. Généralités - Historique Le SGML à lorigine du XML ! SGML (Standard Generalized Markup Language) (ISO 8879) est le l angage de référence en GED. SGML est devenu une norme internationale en SGML dissocie la structure d'un texte de sa présentation physique. La typographique, elle est laissée à loutil de mise en page qui en donne une forme physique. SGML permet de distinguer la structure d'un texte de son contenu.

6 1. Généralités - Comparer HTML & XML : Les forces de HTML Standard sur les navigateurs du marché, Filtre générant du HTML dans la plupart des outils Bureautique, Portable d un environnement à l autre : UNIX, WINDOWS, APPLE,.. Facile d utilisation & à comprendre, Existence d une gamme importante d outils sur le marché, Editable & modifiable avec un simple éditeur de textes. Documents souvent peu volumineux.

7 1. Généralités - Comparer HTML & XML : Les lacunes de HTML HTML ne permet pas de distinguer la partie présentation, de la partie données. Une page HTML est difficilement exploitable pour extraire linformation et la retraiter : Exemple : constituer une base de données de recette en exploitant les nombreux sites disponibles sur Internet..! Effectuer une recherche dans un ensemble de fichiers HTML donne des résultats approximatif. Exemple : Une recherche dans un moteur de recherche fournit un nombre important de référence sans rapport avec la requête lancée. Impossible de présenter de façons différentes les données d une page HTML. Exemple : références croisées. Difficile de compléter les données d une page HTML statique. HTML ne permet pas de compléter les balises en fonction des besoins. Evolution des balises soumises au W3C

8 1. Généralités - Comparer HTML & XML : Les Avantages de XML XML est un langage de spécification Permet la création de balises : Les balises et leurs contenus représentent un structure de données. Séparation du contenu et de la représentation : Les feuilles de styles XSL permettent de formater les données. La définition des Balises est contenu dans un dictionnaire appelé Document Type Definition (DTD) optionnel permettant de créer un dialecte XML. Exemple : Mathematical Markup Language (MathML) Utilisation de XML pour les équations mathématiques Chemical Markup Language (CML) Utilisation de XML pour les objets chimiqies La rédaction d un document XML est soumise à des règles strictes, évitant ainsi toute ambiguïté.

9 1. Généralités - Comparer HTML & XML : Les Inconvénients de XML On ne peut pas aujourdhui architecturer entièrement un système dinformation en XML. XML nest quun élément dune architecture plus complexe. Les outils de conception actuels sont encore incomplets. Seul IE 5 reconnaît actuellement XML. Navigator à partir de la version 6 interprétera également ce langage. La p lupart des navigateurs utilisés aujourdhui ninterprète pas le XML. Les parseurs disponibles donnent des résultats quelques fois différents. Principalement dans linterprétation des feuilles de styles.

10 2. Le XML - Spécifications de XML XML développé par le XML Working Group formé par le W3C en Les objectifs de conception de XML sont les suivants : 1.XML sera utilisable sans difficulté sur Internet ; 2.XML soutiendra une grande variété d'applications ; 3.XML sera compatible avec SGML ; 4.Il sera facile d'écrire des programmes traitant les documents XML ; 5.Le nombre d'options dans XML doit être réduit au minimum, idéalement à aucune ; 6.Les documents XML devraient être lisibles par l'homme et raisonnablement clairs ; 7.La conception de XML devrait être préparée rapidement ; 8.La conception de XML sera formelle et concise ; 9.Il sera facile de créer des documents XML ; 10.La concision dans le balisage de XML est de peu d'importance.

11 2. Le XML - Structure d un fichier XML Un document XML peut être représenté sous la forme dun Arbre. Il possède une racine et chaque Elément représente un nœud.

12 2. Le XML - Définition Déclaration : En première ligne dans un document XML Facultative mais recommandée par le W3C Racine : Elément UNIQUE Eléments : Définissent le contenu d une balise XML Peuvent contenir d autres éléments Peuvent être vides Peuvent contenir du texte. Attributs : Ajoutent des données à un éléments Entités : Raccourcis Similaires aux constantes

13 Le XML permet de créer ses propres balises. Exemple de document structuré en XML : Essence Diesel & Diesel 2. Le XML - Exemple Déclaration Attribut Racine Elément Entité

14 2. Le XML - Type d encodage XML utilise les jeux de caractères de la norme ISO ou Unicode. Standard contrôlé par le W3C, permet de supporter les caractères de tous les langages. Ainsi tous les caractères internationaux peuvent être référencés en utilisant leur représentation Unicode : Ex pour Ä utiliser Ä Les caractères sont codés sur 4 octets pour réduire la taille des chaînes un différents types de codage peut être utilisé : Les plus fréquemment utilisés sont : ·UTF-16 : codage des caractères sur 16 bits ·UTF-8 : codage des caractères sur 8 bits.UTF-7 : codage des caractères sur 7 bits · ISO

15 2. Le XML - Document XML Bien Formé Un document XML doit répondre aux critères suivants: ·les valeurs d' attributs doivent être entre en guillemets " " ·les noms des attributs doivent tous être en minuscules · toute balise ouverte doit être fermée ex : ·les balises uniques doivent être de la forme, ·les caractères < et & écrits < et & · un document commence par la déclaration suivante : (yes, s'il est seul et no s'il est accompagné d'une DTD)

16 2. Le XML - Eléments ou Attributs ??? Aucune règle existe. Eléments : Pour les informations faisant partie de l objet ex Titre d un livre. Pour les informations répétées. Pour les informations pouvant être regroupées en unitié logique. Attributs : Les identifiants. Pour éviter des arborescences profondes. Pour limiter les valeurs. Donner toujours la préférence aux Eléments Pour des raisons de performances : Chargement plus rapide Indexation plus rapide (implique une recherche plus rapide)

17 3. La DTD - Définition DTD ( D ocument T ype D efinition) est l'acronyme Définition de type de document. Elle va permettre de définir la structure interne dun document XML, Son l' utilisation est facultative. Un document répondant à une DTD est dit VALIDE. La Validation processus de vérification d un document XML : Les données sont dans le bonne ordre, Les données sont dans le bon format, Les champs obligatoires sont présents,…. Un document BIEN FORME nest pas forcément VALIDE

18 3. La DTD - Interne ou Externe La DTD peut prendre deux formes : ·soit interne, incluse dans une feuille XML ·soit externe, dans un fichier spécifique permettant sa réutilisation. Document avec DTD externe : Bonjour! Document avec DTD interne : ]> Bonjour! Ces documents s auto décrivent. La DTD doit avoir le même nom que la racine.

19 3. La DTD - Les Types déléments La déclaration de type d'élément La déclaration de type d'un élément spécifie le contenu de cet élément. La notation est la suivante : Les différents types EMPTY : pour les éléments sans contenu. Ex ANY : pour les éléments dont on ignore le contenu #PCDATA : pour les données textuelles Exemples

20 3. La DTD - Les Répétitions Déclaration de l'élément racine : Déclaration des éléments fils de la racine : Répétition : Par défaut répété une seule fois, ? optionnel, * plusieurs fois ou pas du tout, + au moins une fois.

21 3. La DTD - Les Attributs Linstruction ATTLIST Cette instruction associe des attributs à un élément : Les types d attributs : #REQUIRED: obligatoire #IMPLIED: facultatif #FIXED: valeur par défaut spécifiée Exemple : >

22 3. La DTD - Les Schémas Sous limpulsion de Microsoft, la notion de schéma a été introduite dans XML. Lacune de la DTD : La DTD ne permet pas de spécifier le type dun élément (string, date,..) Le Schéma devrait remplacer à terme la DTD. Plus complète elle introduit les notions : De contrainte sur le contenu du modèle. Ordre et séquence des Eléments. De contrainte sur les types de données. Valeurs valides pour une données. Néanmoins, l absence de spécification, est un frein au développement des Schémas. Les principales propositions sont : XML Data/XML Data Reduced Document Content Description (DCD) : Typage Fort des Données, Limite des valeurs, Héritage.

23 3. La DTD - Les Schémas Essence Diesel & Diesel

24 3. La DTD - Les Schémas

25 3. La DTD - Les Schémas

26 4. Les NAMES SPACES Ils correspondent à une recommandation du W3C datant de janvier Ils permettent didentifier de manière unique les balises utilisées dans un document XML. Les espaces de nom sont utilisés afin de bien dissocier les différentes syntaxes que l'on peut trouver dans un document XML. Déclaration : Plusieurs names spaces peuvent être utilisé dans la rédaction d un document XML. xmlns:name1="http//…../nspaces/name1.dtd" xmlns:name2="http//…../nspaces/name2.dtd" Dans le Document les éléments seront alors préfixés de nom correspondant à leur names spaces.

27 5. Feuilles de Style XSL - Définition Langage de mise en forme de feuille de Style : Il permet la transformation dune feuille XML. Il permet la manipulation dun arbre ou chaque élément XML représente un nœud. Il en résulte un nouvel arbre. XSL fournit la plupart des structures de contrôle dun langage classique. XSL permet de générer des arbres sous différents formats (XML, HTML,..). La transformation XSL : Le résultat s obtient en appariant les structures (Pattern matching). Ceci permet donc de sélectionner le nœud, l attribut sur lequel doit s appliquer une transformation. Un modèle (template) permet d indiquer les actions à réaliser lors de l appariement. Il est composé de règles de mise en forme.

28 5. Feuilles de Style XSL - Rôle XSL est utiliser pour transformer un page XML en HTML en WML... Une page XML est une source de données. Les pages XSL sont des représentations différentes des données : Références croisées, cumuls, tris, traitements divers sur les données,… Une page XSL est un document XML bien formé. Attention la DTD de l arbre destination peut-être différente de l arbre d origine. On compare souvent CSS à XSL. CSS ne dispose pas de structure de contrôle, il ne permet que la mise en forme.

29 5. Feuilles de Style XSL - Exemple page XML

30 5. Feuilles de Style XSL - Exemple page XSL... DéclarationNames SpacesTemplate racineType de sortieHTMLApplication dun modèle aux noeuds fils Template article

31 5. Feuilles de Style XSL - Le matching * correspond à n'importe quel élément element1 | element2 trouve tous les élément element1 et element2 element1 / element2 trouve tous les éléments elemen2 ayant element1 comme parent element1 // element2 correspond à n'importe quel élément element2 dont un ancêtre est element1 / correspond au noeud racine text() correspond à n'importe quel noeud textuel processing-instruction() correspond à n'importe quel instruction de traitement node() correspond à n'importe quel noeud autre qu'un noeud attribut et que le noeud racine element1 [1] correspond au premier des éléments element1 d'un parent element1 [last()=1] correspond à n'importe quel élément element1 qui est l'unique élément element1 de son élément parent element1 / element2[position()>1] correspond à tous les éléments element2, autres que le premier, et dont le parent est correspond à tous les attributs correspond à n'importe quel attribut

32 5. Feuilles de Style XSL - Structures de contrôles Création de variables Création d'éléments : Création dattributs : Création dun text : blabla

33 5. Feuilles de Style XSL - Structures de contrôles Insertion de la valeur dun élément : Boucle : … Tri : Alternative : … Exemple : … …

34 5. Feuilles de Style XSL - Exemple Liste Employe Règle modèleBoucleAppel d'une règleParamètreCréation d'un Element

35 5. Feuilles de Style XSL - Exemple z Récupération du Paramètre ConditionnelleAffichage d'une variable Règle modèle

36 6. Les API - SAX Interface Simple API for XML (SAX). Ces API sont orientées événements. Le gestionnaire d événement est similaire à celui de Windows pour gérer les IHM. Le moteur SAX déclenche un événement lorsquil détecte une balise de début ou une balise de fin. Implémenté en JAVA, Python, PHP. Avantage : Ne charge pas globalement le fichier XML en mémoire avant de commencer le traitement. Inconvénient : Pas de construction darbre Fonction PHP3 : int xml_set_element_handler(int parser, string startElement, string endElement); parser : pointeur sur un objet parseur startElement : fonction déclenchée lorsquune balise de début est rencontrée. endElement : fonction déclenchée lorsquune balise de fin est rencontrée.

37 6. Les API - SAX Exemple en PHP $file = "data.xml"; $depth = array(); function startElement($parser, $name, $attrs) {... } function endElement($parser, $name) {... } $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); if (!($fp = fopen($file, "r"))) { die("could not open XML input"); } while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } xml_parser_free($xml_parser); Fonction exécutée pour traiter le début dun élément Fonction exécutée pour traiter la fin dun élément Objet ParserAssocie les EvtsTraite le fichierGestion des Erreurs

38 6. Les API – Appariage en PHP 4 '; $xmlData = ' Learning German Sterling Hughes '; if (xslt_process($xslData, $xmlData, $result)){ //OK } else { // Erreur } ?> Chaine XSLChaine XMLAppariage

39 7. Les API - DOM Le DOM est une interface de programmation. Il fournit un ensemble de fonctions : Permettant la manipulation de document XML. La création de document XML. Contrairement à SAX, le document XML est représenté en mémoire sous la forme d une structure hiérarchique. Les API disponibles, permettent de charger, parcourir, copier, créer, manipuler les nœuds de l arbre représentant ainsi les éléments du document XML. Linconvénient majeur, est le chargement globale du document XML en mémoire. Peut entraîner des problèmes de temps de réponse lors du traitement des documents volumineux. Le DOM est implémenté dans les langages : JAVASCRIPT, VB SCRIPT donc très souvent utilisé dans les ASP.

40 7. Les API - DOM Les fonctions de base xmlDoc.documentElement : Elément Racine xmlDoc.load("document.xml") : Chargement en mémoire dun document XML xmlDoc.async : Mode de chargement en mémoire Asynchrone / Synchrone noeud.firstChild : Premier fils dun nœud noeud.lastChild : dernier fils dun nœud noeud.parentNode : Nœud Parent dun nœud noeud.childNodes[] : Tableau des nœuds fils noeud.selectNodes("nom") : Retourne le tableau des nœuds fils ayant pour nom nom. noeud.getAttributes("att") : la valeur de l attribut att du nœud. noeud.setAttributes("att",valeur) : Positionne la valeur de l attribut att du nœud. noeud.hasChildNodes() createElement("nom") loadXML("chaine")

41 7. Les API - DOM Parcours dun arbre en ASP <% xmlDoc = Server.CreateObject("MSXML2.DOMDocument"); xmlDoc.async = false; xmlDoc.load(Server.mapPath ("personnel.xml")); racineDoc = xmlDoc.documentElement; for (i = 0 ; i < racineDoc.childNodes.length ; i++) { employe = racineDoc.childNodes[i]; Response.write (" Nom : "); Response.write (employe.childNodes[0].text + " " + employe.childNodes[1].text + " " + employe.childNodes[2].text); } %> Objet DOMChargement SynchroneChargement du documentRacineNbre de Nœuds Fils Parcours des FilsTraitement des Fils

42 7. Les API – DOM – Appariage XSL en ASP <% var sourceFile = Server.MapPath("simple.xml"); var styleFile = Server.MapPath("simple.xsl"); var source = Server.CreateObject("Microsoft.XMLDOM"); source.async = false; source.load(sourceFile); var style = Server.CreateObject("Microsoft.XMLDOM"); style.async = false; style.load(styleFile); Response.Write(source.transformNode(style)); %> Doc XMLDoc XSLDOM XMLDOM XSLAppariage

43 8. Les logiciels - Les parsers XML Coté Serveur Les parsers Validant Microstar Aelfred Les parsers non Validant MSXML (intégré à IIS) IBM XMLJ Côté client Internet Explorer 5.0 Netscape Navigator V6 Interface de programmation Interface Simple API for XML (SAX) Interface Document Oject Model (DOM)

44 8. Les logiciels - Parsing coté client IE 5 / Navigator 6

45 8. Les logiciels - Parsing coté serveur

46 8. Les logiciels - Les langages de requêtes XML-QL Proposé par Bell Labs Il permet d'interroger des documents XML Il fournit également un interface de création de document XML Ce langage est inspiré du SQL XQL Proposé par Microsoft Il permet d'interroger des documents XML via XSL Base de données Orientés Objets Elles génèrent des documents XML ORACLE v 8i SQL Serveur 2000 fournit des fonctionnalités XML

47 8. Les logiciels - Les éditeurs XML Editeurs XML XML Notepad (Parser Microsoft) XMLPRO (Parser IBM XML 4J) Xmetal de softquad Editeurs DTD XML Autority : Construction graphique d un DTD Near & Far Designer XML Editeurs XSL eXcelon Stylus XML SPY

48 9. Les Références - Les sites WEB La référence dans le domaine :

49 9. Les Références - Les ouvrages La référence dans le domaine : XML. Langage et applications de MICHARD, Alain EYROLLES INTRODUCTION AU XML SAINT-LAURENT Simon OSMAN EYROLLES MULTIMEDIA 2000 XSLT Programmer's Reference Michael KAY Edition WROX


Télécharger ppt "CHAPITRE 6 INTRODUCTION A XML. Plan Historique XML Exo 1 DTD Exo 2 XSL Exo 3 SAX DOM."

Présentations similaires


Annonces Google