1 / 45

XML

XML. Introduction. Langage XML. eXtensible Markup Language XML permet de créer des documents Avec des balises propres au document Langage «extensible» Représentant des données semi-structurées Recommandation du W3C www.w3.org/XML. Utilisation du langage XML.

malana
Download Presentation

XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML Introduction

  2. Langage XML • eXtensible Markup Language • XML permet de créer des documents • Avec des balises propres au document • Langage «extensible» • Représentant des données semi-structurées • Recommandation du W3C • www.w3.org/XML

  3. Utilisation du langage XML • Représentation de données semi-structurées • Echange normalisé de ces documents • Domaines • Publication • Transformation XSLT avec feuilles de style CSS, EDI • Traitement • Services Web, XSLT, Xpath, Xquery, ... • Structuration • Fichiers descripteurs (configuration, déploiement, ...)

  4. Structuration XML • XML schéma • Extension des possibilités offertes par la DTD • Notamment le typage • DTD (Document Type Definition) • La structuration la plus répandue

  5. Exemple de document <?xml version=''1.0'' encoding=''UTF-8'' standalone=''yes''?> <devis> <date>5 janvier 2006</date> <client type=''particulier''> <nom>Dupont</nom> <adresse> <rue>72 rue Thiers</rue> <ville>Paris</ville> <cp>75019</cp> </adresse> </client> </devis>

  6. Représentation graphique devis date client* nom adresse rue ville cp * client possède l'attribut type

  7. Origine et objectifs • UN document peut se définir par le fond et par la forme • Forme = structure + présentation • Fond = structure + sémantique • Multiples approches dont les plus connues sont : • SGML pour la structuration • HTML pour la présentation

  8. Objectifs • XML = un nouveau langage d'échange basé sur le balisage • XML = plus simple que SGML • XML = plus complexe et plus performant que HTML • XML = développé par XML Working Group dirigé par le W3C (depuis 1996) • XML 1.0 = recommandation officielle du W3C depuis le 10 février 1998

  9. Les 10 objectifs de conception • XML doit pouvoir être utilisé sans difficulté sur internet • XML doit soutenir une grande variété d'applications • XML doit être compatible avec SGML et HTML • Il doit être facile d'écrire des programmes traitant les documents XML • Le nombre d'options dans XML doit être réduit au minimum, idéalement à aucune

  10. Les 10 objectifs de conception • Les documents XML doivent être lisisbles par l'homme et raisonnablement clairs • La spécification de XML doit être disponible rapidement • La conception de XML doit être formelle et concise • Il doit être facile de créer des documents XML • La concision dans le balisage XML est peu importante

  11. Forces de XML • Séparation de la structure et de la présentation • Moins confus que HTML • Plus simple que SGML • Idéal pour l'échange de données semi-structurées • Utilisable entre machines

  12. Les standards XML • Schema • XSL • DOM • SAX • RDF • EDI • e-COM • Query

  13. XML pourquoi faire ? • Définir votre propre schéma pour décrire vos informations (balises extensibles) • Modélisation de la structure • Document Type Definitions (DTD) • Schema XML • Unified Modeling Language (UML) • Support multi-langage • UNICODE, traductions facilitées • Possibilité de « cast » des éléments balisés • Présentation aux applications

  14. Impact technologique • XML devient le langage d'échange de données sur le WEB • XML est un mécanisme d'échange d'information entre applications • XML supporte le dialogue client-serveur sur http • XML permet de traiter des données partiellement connues • XML devient le protocole unifié des architectures trois-tiers

  15. Actualité du langage XML • Reconnu par les Browser Web majeurs • Format d'échange de Microsoft Office • Supporté par les SGBD majeurs • Sun l'utilise pour décrire les javaBeans • Oracle l'utilise pour décrire les méta-données • Intégré comme format d'échange dans les ERP et EAI • MPEG7(multimédia) est basé sur XML • Nombreux protocoles de commerce électroniques

  16. XML, DTD • Un document XML publiable : • Le document XML lui-même • La DTD pour décrire les balises • XSL pour adapter le format aux besoins • La DTD permet de définir son propre langage basé sur XML • XSL est utilisé pour permettre de convertir les données en HTML pour l'affichage

  17. Balisage • Toute balise ouverte doit être fermée et bien imbriquée • Différenciation majuscule/minuscule • Tous les caractères spéciaux y compris les accents doivent être codés

  18. Validité des documents • Document bien formé (Well Formed Document) • Balises correctement imbriquées • Parsable et manipulable • Pas nécessairement valide par rapport à la DTD • Document valide • Bien formé + conforme à la DTD

  19. DTD • Permet de définir le « vocabulaire » et la structure qui seront utilisés dans le document XML • Grammaire du langage dont les phrases sont des documents XML (instances) • Peut être mise dans un fichier et être appelée dans le document XML

  20. DTD : élément et attribut • !ELEMENT tag (contenu) • Décrit une balise qui fera partie du vocabulaire • Exemple : <!ELEMENT livre (auteur, editeur)> • !ATTLIST tag [attribut type #mode [valeur]]* • Définit la liste d'attributs pour une balise • Exemple : <!ATTLIST auteur genre CDATA #REQUIRED ville CDATA #IMPLIED> <!ATTLIST editeur ville CDATA #FIXED ''PARIS''>

  21. Exemples (nom,prenom,rue,ville) (oui | non) (nom,prenom?,rue,ville) (produit*,client) (produit*,vendeur+) DTD : contraintes • Notations • (a,b) séquence • (a | b) liste de choix • a? élément optionnel [0,1] • a* élément répétitif [0,N] • a+ élément répétitif [1,N]

  22. Elément : types de données • CDATA • Données brute qui ne seront pas analysées (parsées) • PCDATA • Elément de texte sans descendant ni attribut contenant des caractères à parser • Enumération • Liste de valeurs séparées par |

  23. Elément : types de données • NMTOKEN • Mot clé ou liste de mots clés (NMTOKENS) • ANY • Tout texte possible • EMPTY • Vide

  24. Attribut : types et contraintes • CDATA • les attributs ne sont pas parsés • ID • identifiant référençable • IDREF • référence à un ID

  25. Attribut : types et contraintes • #FIXED valeur • assigne une valeur ne pouvant être changée dans le document XML • #IMPLIED • valeur falcutative donnée dans le document XML • #REQUIRED • valeur obligatoire donnée dans le document XML

  26. Exemple de DTD <!ELEMENT doc (livre,article)> <!ELEMENT livre (titre,auteur+)> <!ELEMENT article (titre,auteur*)> <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur(nom,adresse)> <!ATTLIST auteur id ID #REQUIRED> <!ELEMENT nom(prenom?, nomfamille)> <!ELMENT prenom(#PCDATA)> <!ELMENT nomfamille(#PCDATA)> <!ELMENT adresse ANY>

  27. Exemple de DTD interne <?XML version=''1.0'' standalone=''yes''?> <!DOCTYPE CATALOGUE [ <!ELEMENT CATALOGUE (VINS+)> <!ELEMENT VINS (SPECIFICATION+,ANNEE,PRIX)> <!ATTLIST VINS NOM CDATA #REQUIRED> <!ELEMENT SPECIFICATION EMPTY> <!ATTLIST SPECIFICATION PROVENANCE CDATA #REQUIRED COULEUR CDATA #REQUIRED> <!ELMENT ANNEE (#PCDATA)> <!ELMENT PRIX #PCDATA)> ]> <CATALOGUE> <VINS NOM=''Saint-Emilion''> <SPECIFICATION PROVENANCE=''Bordeaux'' COULEUR=''Rouge''/> <ANNEE>1996</ANNEE> <PRIX>200E</PRIX> </VINS> ...

  28. Exemple de ID ET IDREF <?XML version=''1.0'' standalone=''yes''?> <!DOCTYPE DOCUMENT [ <!ELEMENT DOCUMENT(PERSONNE*)> <!ELMENT PERSONNE (#PCDATA)> <!ATTLIST PERSONNE PNUM ID #REQUIRED> <!ATTLIST PERSONNE MERE IDREF #IMPLIED> <!ATTLIST PERSONNE PERE IDREF #IMPLIED> ]> <DOCUMENT> <PERSONNE PNUM=''P1''>Marie</PERSONNE> <PERSONNE PNUM=''P2''>Jean</PERSONNE> <PERSONNE PNUM=''P3'' MERE=''P1'' PERE=''P2''>Pierre</PERSONNE> <PERSONNE PNUM=''P3'' MERE=''P1'' PERE=''P2''>Julie</PERSONNE> </DOCUMENT>

  29. DTD externe • Modèle pour plusieurs documents • partage des balises et structures • Définition locale ou externe • <!DOCTYPE doc SYSTEM ''doc.dtd''> • <!DOCTYPE doc PUBLIC ''www.e-xmlmedia.com/doc.dtd''> • Exemple de document • <?xml version=''1.0'' standalone=''no''?> <!DOCTYPE VINS SYSTEM ''vins.dtd''> ...

  30. DTD : entité • Permet la réutilisation dans un document • !ENTITY nom ''texte de remplacment'' • utiliser dans le document par &nom • Une entité est l'équivalent d'une macro • permet de définir un nom qui sera remplacé par le parseur dans le texte • Exemple • <!ENTITY magasin ''Printemps''> • <message>Bienvenu au &magasin</message> • La définition peut être externe • dans un fichier ou une autre DTD • <!ENTITY magasin SYSTEM ''magasin.txt''>

  31. DTD entité paramètre • Permet la réutilisation dans une DTD • <!ENTITY % nom ''definition''> • utiliser dans la DTD par %nom • Exemple • <!ENTITY %genres (''homme'' | ''femme'')> • <!ATTLIST auteur genre %genres; #REQUIRED> • Peuvent être externes • <!ENTITY %mpeg SYSTEM ''http://www.exml.fr''> • Possibilité d'ajouter des assistants d'exécution • <!NOTATION %mpeg SYSTEM ''.../bin/player.exe''> • <!ENTITY film SYSTEM ''.../videos/finale.mpeg NDATA %mpeg>

  32. DTD : notation • Identifie un bloc de données non XML • Analysée par un processeur externe • Utilisée pour spécifier des entités ou attributs non XML • Exemple : • <!NOTATION gzip SYSTEM ''.../bin/gzip.exe'' >

  33. Quelques règles d'écriture • Modularité • définir dans des entités séparées les parties réutilisables • Précédence • regrouper les déclarations d'entités en tête • Abstraction • utiliser les entités pour les modèles de contenus • Spécificité • éviter les DTD trop générales • Simplicité • découper les DTD trop complexes

  34. Comment concevoir une DTD ? • Décrire les sources de données avec UML • Utilisation de : • classe • attribut • agrégation • association • généralisation • Fixer les cardinalités • associations • attributs

  35. Exemple de schéma UML

  36. Définition des types et classes <!-- Types de base --> <!ENTITY % int ''(#PCDATA)''> <!ENTITY % float ''(#PCDATA)''> <!ENTITY % char ''(#PCDATA)''> <!ENTITY % string ''(#PCDATA)''> <!-- Classe Facture --> <!ELEMENT Facture (fstatut, ftotal)> <!ATTLIST Facture NUM ID #REQUIRED> <!ELEMENT fstatut %char> <!ELEMENT ftotal %float> <!-- Classe Lgne Facture --> <!ELEMENT Ligne (produit,quantite,statut?,total?)> <!ELEMENT produit %string> <!ELEMENT quantite %int> <!ELEMENT lstatut %char> <!ELEMENT ltotal %float>

  37. Définition DTD + MESSAGE <?xml version=''1.0'' standalone=''yes''?> <!DOCTYPE MESSAGE [ <!-- Document --> <!ELEMENT MESSAGE (Facture, Ligne+)*> <!ENTITY % Type SYSTEM ''Type.dtd''> %Type; ]> <MESSAGE> <Facture NUM=''1''> <fstatut> A </fstatut> <ftotal>1000</ftotal> </Facture> <Ligne> <produit>212</produit> <quantite>5</quantite> </Ligne> ... </MESSAGE>

  38. Bibliographie • XML – auteurs R. Eckstein, M. Casabianca – éditeur O'Reilly • XML 1.1 bible – auteur E. R. Harold – éditeur Wiley • XML in 21 days – auteur S. Holzner – éditeur Sams

  39. Sites internet • Site en français : xmlfr.org • Site en anglais : www.w3.org/XML • Sites Java – XML • www.sun.com • www.jguru.com • Technologies Java – XML • www.apache.org

  40. Technologies XML • Techniques de base • DOM (Document Object Model) • XML Namespaces • SAX (Simple API for XML) • XML Schema/DTD • Unicode • XLink (XML Linking Language) • XML Encryption

  41. Technologies XML • Techniques de base (suite) • XML Signature • XPath (XML Path Language) • SAX (Simple API for XML) • XPointer • XQuery • XSLT (eXtensible Stylesheet Language Transformation) • XSL (eXtensible Stylesheet Language)

  42. Technologies XML • Techniques de base (suite) • XKMS (XML Key Management Specification) • XCBF (XML Common Biometric Format) • XMLA (XML for Analysis) • SPML (Service Provisionning Markup Language)

  43. Technologies XML • Publication multicanal • CSS (Cascading Style Sheets) • FormML (Template XML Schemas) • SMIL (Synchronized Multimedia Integration Language) • SVG (Scalable Vector Graphics) • VoiceXML • WordML • SpreadSheetML

  44. Technologies XML • Publication multicanal (suite) • XForms (XML Forms) • XHTML • InkML Draft • MathML • WSRP (Web Services For Remote Portlets) • WML (Wireless Markup Language) • Open Office Draft (Oasis File Format)

  45. Technologies XML • Les services web • UDDI (Universal Description, Discovery & Integration) • WSDL (Web Services Description Language) • DSML (Directory Services Markup Language) • SOA ( Service Oriented Architecture) • SOAP (Simple Access Object Protocol) • XML-RPC

More Related