Assuré par : Mejdi BLAGHGI Version 1.0 – Oct 2019 Qu’est ce que XML ? • XML sig
Assuré par : Mejdi BLAGHGI Version 1.0 – Oct 2019 Qu’est ce que XML ? • XML signifie EXtensible Markup Language. • XML est un langage de balisage comme HTML • XML a été conçu pour transporter des données et stocker des données • Les balises XML ne sont pas prédéfinies. Vous devez définir vos propres étiquettes. • XML est conçu pour être auto-descriptives • XML est une recommandation W3C Mejdi BLAGHGI XML 2 XML vs HTML : Points communs • Ils sont tous deux issus du SGML avec lequel ils partagent des caractéristiques communes. • Ils fonctionnent avec des balises. • Ils sont indépendants de la plateforme. • Ils sont en mode texte. Mejdi BLAGHGI XML 3 XML vs HTML : Différences • XML n'est pas le successeur du HTML. • XML n'est pas le futur du HTML. • XML n'est pas le remplaçant du HTML. • XML et HTML sont deux langages distincts Mejdi BLAGHGI XML 4 XML vs HTML : Différences XML HTML XML décrit, structure, stocke, transporte et échange des données Html affiche des données par l'intermédiaire d'un navigateur. XML est un générateur de langages [métalanguage]. Html est un langage statique (normalisé) de publication sur le Web. Pour le XML, le W3C est reparti d'une feuille blanche et a mis en place un nouveau langage très structuré. HTML avec la version 4.0 est arrivé à bout de course et est devenu un langage hybride et en final peu structuré. XML est un langage strict dont l'écriture doit être rigoureuse. HTML, à cause des navigateurs récents, est devenu très permissif. Mejdi BLAGHGI XML 5 Applications de XML • XML est un format d’enregistrement de nombreuses applications – Exemples : LibreOffice (format OpenDocument), Dessin vectoriel avec Inkscape (format SVG , Construction/compilation de projets (Ant, Maven), Itinéraires GPS (format GPX), . . . • Bases de données XML – Il permet de créer des bases de données XML qui peuvent représenter des données complexes. – Exemples : RDF (interrogé via un langage de requêtes appelé SparQL), XML native (les données sont au format XML et les requêtes sont dans un langage (XQuery) permettant de réaliser l’équivalent de SQL). • XML est un format d’échange de données entre serveurs et clients – Les flux RSS permettent de résumer les changements survenus sur un site Web – Les protocoles XML-RPC et SOAP permettent d’exécuter des procédures à distance (Remote Procedure Call) – AJAX permet de mettre à jour dynamiquement les pages web sur le navigateur Mejdi BLAGHGI XML 6 Concurrents de XML • En tant que solution d’échange de données entre plusieurs systèmes parfois hétérogènes voici quelques concurrents à XML – JSON – COM/DCOM – Corba – Java RMI Mejdi BLAGHGI XML 7 Parseurs XML • Un parseur est un outil permettant de parcourir un document et d’en extraire des informations. • Dans XML il existe 2 approches – DOM (Document Object Model) : API utilisant une approche hiérarchique pour construire une structurée contenant des objets représentant les éléments du document et dont les méthodes permettent d’accéder aux propriétés (GetRootElement(), GetChildren(), GetElement(), ...) – SAX (Simple API for XML) : API basée sur le modèle évenementiel permettant de réagir à des évenements comme kle début d’un élément ou la fin d’un élément (startDocument(), startElement(), characters(), EndElement(), ...) Mejdi BLAGHGI XML 8 Parseurs XML Comparatif Mejdi BLAGHGI XML 9 Cas pratique d’utilisation de XML Mejdi BLAGHGI XML 10 Syntaxe du XML • Les noms peuvent contenir des lettres, des chiffres ou d'autres caractères. • Les noms ne peuvent débuter par un nombre ou un signe de ponctuation. • Les noms ne peuvent commencer par les lettres xml (ou XML ou Xml...). • Les noms ne peuvent contenir des espaces. • La longueur des noms est libre mais on conseille de rester raisonnable. • On évitera certains signes qui pourraient selon les logiciels, prêter à confusion comme "-", ";", ".", "<", ">", etc. • Les caractères spéciaux pour nous francophones comme é, à, ê, ï, ù sont à priori permis mais pourraient être mal interprétés par certains programmes. Mejdi BLAGHGI XML 11 Syntaxe du XML • Un document XML représente un arbre composé de plusieurs types de nœuds : – Nœuds éléments : ils sont associés aux balises <element>. Ce sont des nœuds qui peuvent avoir des enfants en dessous. – Nœuds texte : ils représentent le texte situé entre deux balises. Les nœuds texte sont considérés comme des feuilles. • Les balises sont sensibles au majuscules et minuscules. • Toute balise ouverte doit impérativement être fermée • Les balises doivent être correctement imbriquées. • Tout document XML doit comporter une racine. • Les valeurs des attributs doivent toujours être mises entre des guillemets . • Il n’y a pas d’ordre entre les attributs d’un élément. • Un attribut ne peut être présent qu’une fois. Mejdi BLAGHGI XML 12 Exemple de document XML <?xml version="1.0" encoding="UTF-8"?> <!-- Date de création : 20/10/2021 --> <!DOCTYPE personne SYSTEM "personne.dtd"> <?xml-stylesheet type="text/css" href=" bibliotheque.css"?> <bibliotheque> <responsable>Foulen FOULENI<responsable> <separateur/> <livre id ="1" langue="fr"> <titre>XML</titre> <auteur>Alexandre Brillant</auteur> <prix monaie="€">64</prix> </livre> <livre id ="2" langue="fr"> <titre>XML par la pratique</titre> <auteur>Thierry Boulanger</auteur> <prix monaie="€">72</prix> </livre> </bibliotheque> Mejdi BLAGHGI XML 13 Prologue et Déclaration XML • Exemple de déclaration XML : – <?xml version="1.1" encoding="ISO-8859-1" standalone="yes" ?> • Composantes : – Version : version du XML utilisée dans le document – Encoding : le jeu de codage de caractères utilisé. – Standalone : dépendance du document par rapport à une déclaration de type de document. Si standalone a la valeur yes, le processeur de l'application n'attend aucune déclaration de type de document extérieure au document. Sinon, le processeur attend une référence de déclaration de type de document. La valeur par défaut est yes. • Remarques : – Cette déclaration est facultative, mais il est préférable de l'utiliser. Dans ce cas version, encoding et standalone doivent être placés dans cet ordre. – Si elle est utilisée, elle doit être placée en toute première ligne du document XML. – Par exemple, il ne faut placer ni commentaire, ni même de simple ligne vide avant elle. Mejdi BLAGHGI XML 14 Commentaires XML • On peut placer des commentaires à peu près partout dans un document XML. La syntaxe est identique à celle d’un fichier HTML. • Un commentaire peut s’étendre sur plusieurs lignes. • La seule contrainte est de ne pas pouvoir employer les caractères -- dans le commentaire, même s’ils ne sont pas suivis de > • Exemple : – <!-- voici un commentaire sur une seule ligne --> – <!-- voici un autre commentaire sur plusieurs lignes --> Mejdi BLAGHGI XML 15 Options après le prologue • Après le prologue, on peut trouver plusieurs parties optionnelles délimitées par <?...?> ou <!...>. • Ce sont des instructions de traitement, des directives pour l’analyseur XML. • Par exemple : – un Document Type Definitions (DTD) qui permet de valider le contenu du document. – une feuille de style Mejdi BLAGHGI XML 16 Déclaration du type de document • La déclaration <!DOCTYPE est optionnelle. • Elle sert à attacher une grammaire de type DTD (Document Type Definition) au document XML. • Elle est introduite avant la première balise (racine) du document. • Le mot-clé SYSTEM est important et indique qu’il s’agit d’une DTD qui vous est propre. L’alternative est le mot-clé PUBLIC. Mejdi BLAGHGI XML 17 Sections CDATA • Lorsqu’on veut écrire du texte brut à ne pas analyser en tant qu’XML, on emploie une section CDATA : • <?xml version="1.0" encoding="UTF-8"?> <personnes> <personne> <prenom>Ali</prenom> <passe><![CDATA[1236589472dliys698q903sp]]><passe> </personne> </personnes> • La partie entre est ignorée par les analyseurs XML, on peut mettre n’importe quoi sauf ]]>. Ces données sont considérées comme du texte par les analyseur. • Dans le navigateur, il faut utiliser « xmllint --nocdata document.xml » pour le voir le contenu sans les marqueurs. Mejdi BLAGHGI XML 18 Nœuds élément • Les éléments gèrent la structuration des données d’un document XML. • On peut les qualifier de métadonnés, au sens où ils ne font pas partie réellement des données mais servent à en désigner la nature. • À la place du terme élément, on peut utiliser les termes balise, tag ou encore nœud. • Pour décrire ce que contiennent les éléments, on parle de modèle de contenu. On trouve : – Rien : il n’y pas de contenu, l’élément est vide. – Du texte. – Un ou plusieurs éléments : on peut les qualifier d’éléments fils, l’élément les contenant étant appelé un élément parent – Un mélange de textes et d’éléments : c’est une forme plus rare qui peut révéler une erreur de structuration. Elle reste cependant utile, lorsque l’on souhaite « décorer » un texte quelconque (cas du paragraphe en HTML avec des zones en gras, italique…). Mejdi BLAGHGI XML 19 Associations • La représentation XML d’une association entre deux TE est un peu problématique quand les cardinalités ne sont pas (1,1) d’un côté. • Les documents XML sont essentiellement hiérarchiques et représentent les informations uniquement vues d’une seule chose. • Il faudrait uploads/Litterature/ support-de-formation-xml.pdf
Documents similaires










-
31
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Fev 18, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 0.4901MB