XML : Introduction au Langage Markup Extensible
Document Details
Uploaded by AngelicModernism
Université Mustapha Stambouli de Mascara - Faculté des Sciences Exactes Département Informatique
Tags
Summary
Ce document fournit une introduction au langage XML, en comparant XML à SGML et HTML, et en mettant en avant les avantages et les caractéristiques de XML. Il explique comment XML structure les données et comment les données sont échangées par différentes applications. Cet aperçu de XML inclut une compréhension de sa syntaxe et de sa validité, ainsi que des exemples concrets.
Full Transcript
# I. Introduction au langage XML De SGML à XML en passant par HTML | | 1986 : SGML | 1991 HTML | 1998 : XML | |---|---|---|---| | Objectifs | - adaptabilité, intelligence, gestion des liens | simple, portable, gestion de liens | - puissance de SGML - simplicité du HTML | | Inconvenients | complex...
# I. Introduction au langage XML De SGML à XML en passant par HTML | | 1986 : SGML | 1991 HTML | 1998 : XML | |---|---|---|---| | Objectifs | - adaptabilité, intelligence, gestion des liens | simple, portable, gestion de liens | - puissance de SGML - simplicité du HTML | | Inconvenients | complexe, difficilement portable | - non adaptable, - non intelligent | | ## HTML? -è Langage de balisage issu du SGML(Stanclarcl Generalized Markup Language) - Naissance du World Wide Web - Partage d'informations sur Internet de façon efficace et relativement structurée. 6 Demandes continuelles de modifications et d'extensions [versions 1.0, 2,0, 3,0, 4,01, 5, etc.). 6 Incompatibilité des extensions proposées (mise en forme, formule mathématique, police de caractères, ...). 6Mélange de balises sémantiques (<ADDRESS>, <TITLE>, <HI>) et de balises de mise en forme <FONT>). - Difficulté d'analyser un document HTML. OVroblème de pérennité: les pages HTML 1.0 sont-elles touiours lisibles? ## XML?? - Langage de balisage pour la description de documents structurés (eXtensible Markup Language) - Est une recommandation W3C (www.w3c.org/XML) - XML est un langage pour représenter les données du Web - XML standardise la manière dont l'information est: - Représentée - Echangée - Transformée ## Exemple - Document HTML | Document XML - <dd> Ma chanson </dd> | <SONG> - <ul> | <TITLE> Ma chanson </TITLE> - <li> 'auteur</li> | <COMP> par 1'auteur</COMPOSER> - <li> steur: Dupond</li> | <PRODUCER> Dupond</PRODUCER> - <li> ur: Maison edition</li> | Maison edition<EDITOR> - <li> : 6:20</li> | <DURATION> 6:20</DURATION> - <li> : 1978</li> | <DATE> 1978</DATE> - <li>. te: Toto</li> | <ARTIST> Toto</ARTIST> - </ul> | </SONG> - par I | - Producteur | - Editeur : Maison | - Duree : | - Date : | - Artiste : | - </body> | ## XML et HTML - XML représente t il une menace pour l'avenir de HTML? - Faut il tout oublier le HTML et repartir à zéro avec XML ? ## Différences XML et HTML - XML et HTML sont 2 langages distincts - Le XML décrit, structure, échange des données tandis que le Html ne fait qu'afficher des données. - Le XML est extensible et permet de créer ses propres balises en fonction des données traitées. En HTML, les balises sont prédéfinies et donc figées. - Outre les PCS, le XML se veut adapté aux outils comme les mobiles, etc alors que HTML est surtout conçu pour les ordinateurs de type PC. - Le XML est un langage strict dont l'écriture doit être rigoureuse alors que le HTML est devenu très permissif (à cause des navigateurs récents). ## Pourquoi utiliser XML? ### XML pour communiquer - [Application 1] <-> XML <-> [Application 2] - Quelques exemples: - protocole de transmission (XML-RPC, SOAP), - définition de normes XHTML, SMIL,XML-FO, SVG), - Bases de données semi-structurée, - Fichiers de configuration CISP, EJB,..), - Avantages: portabilité, extensibilité, réutilisation d'outils ### XML pour vérifier un document [Image depicting XML documents and DTD files pointing to a verification icon named "validation" which can be either true or false (non)] ## Pourquoi utiliser XML? ### XML e l Web - [Image depicting documents, a server and a client - documents are labeled DTD, XSL and XML - the server is labeled "Serveur" and the client is labeled "Client"; the server is connected to a circle labeled "HTML, XHTML, texte" which is also connected to the client] ## Caractéristiques - Extensibilité: possibilité de définir ses propres balises - Modularité et réutilisation: mise en œuvre de mécanismes de factorisation de structure et/ou contenu - Contrôle de validité: la possibilité de pouvoir définir des modèles de documents grâce à des langages tels que DTD, XSchema,,,, permettant de définir la validité de documents XML par rapport aux contraintes définies dans un modèle. - Séparation contenu/contenant: apport d'un enrichissement structurel grâce aux feuilles de style - Représentation arborescente logique - Sensibilité à la casse ## Outils associés - Présenter - Transformer [Image showing a central rectangle labeled "XML" with 6 other rectangles around it. Above: XSL, XSLT, XPath. Below: XQuery, DTD, Schemas. Arrows are pointing from XSL, XSLT and XQuery to XML. The XPath rectangle also has an arrow pointing to XML. Arrows from XML point to the DTD and Schémas rectangles. There are also two rectangles to the right of XML labeled XLink and XPointer connected together by an arrow.] - Objectif: Analyse du document XML. - Rôle: Vérifier la cohérence du document XML et de transmettre à l'application les informations utiles au traitement du document - Exemples d'APl: - API SAX (Simple for XML) - API DOM (Document Object Model) - JAXP (Java API for XML Processing) - NB (Java API for XML Binding) - Etc,. ## Logiciels - Pour l'édition et la validation de documents XML: - IDEeclipse - Le logiciel commercial XMLSpy de Altova (http://www.xmlspy.com) disponible sous windows ou sous linux. - Le logiciel commercial Oxygen XML Editor (http://uww.oxygenxml.com) - EditiX Editor (http: f/www.editix.com/) - Cooktop (littp:/ [www.xmlcooktop.com/ - Xml copy editor (http://xml copy-editor.sourceforgernet/ - BaseX: système de gestion de base de données XML (XPath etXQuery) - Exist: système de gestion de base de données XML CXPath et XQuery) # 11. XML: Structure et Manipulation - Structure d'un document XML - Documents bien formés - Les espaces de noms ## Exemple ``` <?xml versionz "10" encoding= "ISO-8859-1 <!-- ceci est un commentaire--> <cours> <titre>XML </titre> <intervenant> sana sellami </intervenant> ``` [Image of a simple document showing "<universite> Aix Marseille Universite</universite> <ville codepostal="13013">Marseille </ville>"] ## Spécifications du langage XML - Structure d'un document XML: - Un prologue ou en-tête (déclarations) - Suivit d'un (seul) arbre d'éléments Cbalises) - Des commentaires - Des instructions de traitement - Un document XML qui respecte les règles syntaxiques est dit bien formé. Il est utilisable sans DTD (la grammaire d'un document XML). - Un document XML bien formé qui respecte sa DTD est dit valide. [Image depicting a tree diagram illustrating the XML structure and its components] ## Prologue - Traiter un documentXML extraire des infomations arbre, - Optionnel mais conseillé - Paramètre Version: Version de XML utilisée pour décrire le document soit 1.0 soit 1.1 - Paramètre encoding: - Le jeu/codage de caractères utilisé. L'encodage est basé sur la norme ISO 10646 (http://www.unicode.org). - Les analyseurs XML reconnaissent automatiquement l'encodage UTF-8 et UTF-16. - Paramètre standalone: Une indication de traitement ## Elément - Un élément racine (obligatoire) appelé élément du document: - Composé (comme tout élément) d'un nom, d'attributs et d'un contenu. - Il est marqué par des paires de balises ouvrante et fermante. - Règle: un document XML comporte un seul élément racine [Image showing an example of an XML document with an invalid structure and a description of the error] - Règle: Toute balise ouvrante doit avoir sa balise fermante - Règle: le parenthèsage doit être correct: <a><b> </b></a> - Un élément est composé: - D'une balise de début qui contient le nom de l'élément (dont le premier caractère est soit une lettre, soit un espace souligné soit un deux points) - Eventuellement des aftributs - D'un contenu - D'une balise de fin - Exemple: - <ville codepostal= "13013 ">Marseille </ville> - Balise de début: < ville codepostal - "13013"> - Nom: ville - Attribut: codepostal= "13013 " - Contenu. Marseille - Balise de fin: </ville» - 4 types d'éléments en fonction de leur contenu: - Elément Vide: ne possède pas de contenu (sauf les attributs) ``` <element></element> ou <element/> ``` - Un élément textuel :qui ne contient que des données textuelles mais aussi: - des sections CDATA (ce sont aussi des données te} duelles) - des commentaires (ne sont pas pris en compte lors de l'interprétation et la validation des documents) et - des instructions de traitement (mais ce ne sont pas des données) ``` <element> ceci est un exemple </element> ``` - Élément mixte: - Contient à la fois des données textuelles et des éléments imbriqués. - Exemple: ``` <exemple> Le monde <sigle>XML</sigle> est riche (très riche) </exemple> ``` - L' élément exemple est composé dans l'ordre - D'un texte Le monde - D'un élément <sigle>XML</sigle> - D'un texte est riche (très riche) - Elément Complexe est un élément dont le contenu est composé exclusivement d'éléments imbriqués (des sous éléments) qui ne sont pas forcément complexes(vides et/ou textuels et/ou complexes, et/ou mixtes), ## Attribut - Un attribut est une paire nom-valeur où : - le nom est un nom XML ; - la valeur (obligatoire) est une suite de caractères entre guillemets ou entre apostrophes, - Attributs séparés par au moins un espace (blanc simple, tabulation retour à la ligne) - Exemple: codepostal "13013 " - Complémentaire de l'élément: ajoute une information à l'élément ou le complète dans sa définition. - Dans une même balise ouvrante, les attributs doivent porter des noms différents - La valeur des attributs ne peuvent pas contenir directement les caractères %, A et & ## Eléments-Attribut - Les attributs introduisent une ambiguïté dans la représentation de l'information: Elément? Attribut? - Un attribut apparaît une unique fois au sein d' un élément - Un même élément peut apparaître plusieurs fois dans un élément - Les attributs associés à un élément ne sont pas ordonnés - Les éléments sont ordonnés (ordre de lecture du document) - les éléments décrivent les données alors que les attributs définissent les éléments qui les contiennent. ## Entités prédéfinies - Certains caractères sont réservés à la syntaxe XML. Il faut être vigilent lors de l'écriture des données, - Exemple: <calcul> if (a<b et b>C) ... </calcul> - Dans cet exemple, <b et b>ll'est pas une balise mais fait partie des données liées à l'élément calcul. - *Utilisation d'entités prédéfinies: < (less than <); > (greater than>), & (&), ", &apo; - Ces entités nécessitent beaucoup de frappe et sont généralement difficiles à lire -è Utiliser une section CDATA (Character Data) ## Section CDATA - 'Syntaxe: <![CDATA[ texte]]> - Le texte peut contenir n'importe quels caractères saufla chaîne I ] - Exemple: <calcul> <![CDATA[if Ca<b et </calcul> ## Commentaire - <!-- commentaire--> - Peut comporter toute suite de caractères sauf.. - Un commentaire peut apparaître partout dans un document excepté : - dans la balise ouvrante ou fermante d'un élément ; - dans une instruction de traitement; - dans un commentaire. ## Instruction de traitement - Destinées aux applications qui traitent les documents XML. Elles sont l'analogue des directives du langage C qui s'adressent au compilateur - Commence par <? Suivi du nom de l'instruction de traitement suivi de ses éventuels paramètres suivis de ?> - Bien que le prologue s'écrit avec la même syntaxe qu'une instruction de traitement, ça n'en est pas une. ## Document XML bien formé - Résumé des spécifications : - Un document doit commencer par une déclaration XML - 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 d'attributs doivent être entre guillemets ou apostrophes - La casse doit être respectée pour toutes les occurrences de noms de balise (MAJUSCULES ou minuscules). - Le nom d'un élément ne peut commencer par un chiffre. - Si le nom d'un élément est composé d'un seul caractère il doit être dans la plage [a-zA-Z] ou ou :. - Avec au moins 2 caractères, le nom d'un élément peut contenir. et : plus les caractères alphanumériques (attention, le caractère : est réservé à un usage avec les espaces de nom). - Un document respectant ces critères est dit "bien formé"