XML (eXtensivble Markup Language)
Transcription
XML (eXtensivble Markup Language)
XML (eXtensible Markup Language) Références : XML, Micro Application e-Poche http://giles.chagnon.free.fr/cours/xml/base.html http://www.cgmatane.qc.ca/forgetj/formation/int4/xml.php 1. Qu’est-ce que XML? Le XML, qui signifie eXtensible Markup Language est un langage constitué de balises, ou tags. Il est destiné à la structuration de documents. En 1998, les spécifications XML 1.0 sont devenues des recommandations (c’est-à-dire que le XML a été officiellement défini et reconnu comme standard). Les documents relatifs au XML et ses spécifications sont téléchargeables à l’adresse http://www.w3c.org/XML. Le XML dérive du Standard Generalized Markup Language, ou SGML, défini en 1986 par le standard ISO 8879. GML(1969) SGML(1980) ANSI HTML(1990) CERN – W3C XML(1998) W3C XHTML(1998) W3C XML standards XML versus HTML Tous les deux sont des dérivés du SGML (Standard Generalized Markup Language); XML a été conçu pour transporter des données; XML n'est pas un remplaçant pour le HTML; XML et HTML ont chacun leurs propres objectifs; XML décrit des données; HTML présente des données; Les balises HTML sont déjà définies; Les balises XML ne sont pas définies. Vous devez créer vos propres balises; 1/6 Le XML permet de séparer le contenu de la présentation. À l’aide du XML, vous pourrez transmettre un document sans vous soucier de son apparence finale, ce qui n’était plus le cas du HTML. le langage devrait s’autodécrire; le langage devrait pouvoir être étendu par lui-même : les langages dérivés du XML devaient être définis en XML, qui devait donc permettre de gérer tous les domaines d’application; le contenu d'un document XML devrait être lisible dans n'importe quel éditeur de texte et être compréhensible par une personne n'ayant aucune connaissance particulière; le langage devrait permettre la description arborescente des données, afin d'apporter par l'intermédiaire des arbres des structures de données performantes et efficaces; les jeux de caractères de type Unicode et autres permettant l'universalité du langage devraient pouvoir être utilisés; il devrait être facilement distribué par n'importe quels protocoles à même de transporter du texte, comme HTTP; toute application munie d'un parseur texte devrait pouvoir utiliser le document XML. Exemple d'un document XML <?xml version="1.0" encoding="utf-8"?> <note> <a>Marc>/a> <de>Claudine</de> <entete>Rappel</entete> <corps>N'oublie pas ton cours aujourd'hui!</corps> </note> 2. Prologue Déclaration XML Un document XML commence toujours par ce que l’on appelle un "prologue". Celui-ci contient systématiquement une déclaration du type : < ?xml version="1.0" encoding="utf-8" standalone="yes"?> version : version du XML utilisée dans le document, 1.0 en ce qui nous concerne (la dernière version du langage, 1.1, date de février 2004 mais ne change rien quant à ses bases); encoding : le jeu de codage de caractères utilisé. Le jeu de caractères standard pour la France est le ISO-8859-1. Par défaut, l'attribut encoding a la valeur utf-8. Cela permet à l'ordinateur de "savoir" quel caractère il doit afficher en réponse aux combinaisons de 1 et de 0 que contient le fichier sur le disque dur; standalone : dépendance du document par rapport à une déclaration de type de document [dtd.html]. 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 no. Cette déclaration est facultative, mais il est préférable de l'utiliser, auquel cas les attributs 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. 2/6 Par la suite, le prologue peut contenir différentes instructions relatives aux données de traitement : • • • • les paramètres relatifs à la mise en page par une feuille de style de type eXtensible Stylesheet Language XSL ou Cascading Style Sheet CSS; la déclaration d’un fichier externe qui contiendrait les données de mise en page, qu’il soit XSL ou CSS; la définition d’une Document Type Definition, ou DTD; la déclaration d’un fichier externe contenant la DTD relative au fichier. Instructions de traitement Une instruction de traitement est une instruction interprétée par l'application servant à traiter le document XML. Elle ne fait pas totalement partie du document. Les instructions de traitement qui servent le plus souvent sont la déclaration XML ainsi que la déclaration de feuille de style. < ?xml-stylesheet type="text/xsl" href="biblio.xsl"?> xml-stylesheet l'application est xml-stylesheet, le processeur de feuille de style du XML. Deux feuilles de style différentes peuvent être utilisées, les XSL et CSS. type : indique de quel type de fichier il s'agit : text/css pour les feuilles de style apparue avec le HTML text/xsl pour les feuilles de style propre au XML href : indique l'URL du fichier Déclaration de type de document (DTD) Cette déclaration, lorsqu'elle est présente, permet de définir la structure du document. Elle peut être de deux types, externe ou interne. Ici, elle est externe. <!DOCTYPE biblio SYSTEM "biblio.dtd" > 3. Les commentaires En XML, les commentaires se déclarent de la même façon qu'en HTML. <!-- Ceci est un commentaire XML --> <maBalise>texte… <!-- Ceci est un autre commentaire --> </maBalise> Remarque : En raison de la compatibilité XML/SGML, la chaîne de caractères - - est interdite dans un commentaire. 4. L'arbre d'éléments Un document XML peut se représenter sous la forme d'une arborescence d'éléments. Cette arborescence comporte une racine (unique), des branches et des feuilles. <!-- prologue --> < ?xml version="1.0" encoding="utf-8" standalone="yes"?> 3/6 <!-- élément racine --> <biblio> <!-- élément enfant --> <livre> <!-- élément enfant titre --> <titre> Les Misérables</titre <auteur>Victor Hugo</auteur> <nbr_tomes>3</nbr_tomes> </livre> <!-- élément enfant --> <livre> <!-- élément enfant titre --> <titre> L'assommoir</titre <auteur>Émile Zola</auteur> <nbr_tomes>3</nbr_tomes> </livre> </biblio> Les éléments et leur contenu • • • • • les éléments sont extensibles; les éléments ont une relation parent/enfant; les noms d'éléments peuvent contenir des lettres, des nombres et autres caractères; les noms ne doivent pas commencer par un nombre, un signe de ponctuation ou les lettres xml; les noms ne peuvent pas contenir de caractères d'espacement. Les éléments XML sont aussi appelés nœuds ou nodes, par référence à la théorie des graphes et feuilles par rapport à la structure arborescente des données. L'élément racine Les éléments doivent être rattachés à un élément principal qui sera appelé élément racine, élément document (en anglais : document element) ou élément root, de sorte qu’ils forment ensuite une arborescence. Les éléments sont définis par des balises. L'élément-racine est la base du document XML. Il est unique et englobe tous les autres éléments. Il s'ouvre juste après le prologue, et se ferme à la toute fin du document. Les éléments Les éléments forment la structure même du document : ce sont les branches et les feuilles de l'arborescence. Ils peuvent contenir du texte, ou bien d'autres éléments, qui sont alors appelés "éléments enfants", l'élément contenant étant quant à lui appelé logiquement "élément parent". Il existe deux types d’éléments : • les éléments fonctionnant par paire du type <element></element> • les éléments atomiques (éléments vides) du type <element/> 4/6 Les attributs les éléments XML peuvent contenir un ou plusieurs attributs; chaque élément ne peut contenir qu'une fois le même attribut; un attribut est composé d'un nom et d'une valeur (clé="valeur"/nom="valeur"); les guillemets simples ou doubles peuvent être utilisés; n'est présent que dans la balise ouvrante de l'élément; les informations peuvent être stockées dans des attributs ou des éléments fils; l’ordre des attributs dans un document XML n’a aucune importance. Voici un exemple de XML possédant des attributs : <instrument type="vent">trompette</instrument> Voici un exemple d'utilisation d'un élément vide avec attributs : <img src="ours.gif" alt="Gros ours" width="56" height="100" /> Voici un exemple incorrect : <livre>Borland C++</livre lang="en"> Les entités Il existe deux sortes d'entités, définissables et définies. Elles epuvent être analysables ou non, internes ou externes. La déclaration des entités s'effectue au sein de la DTD. Elles peuvent être utilisées aussi bien dans la DTD que dans le document XML. Les entités prédéfinies : Caractère & < > " ' Entité & < > " &aquot; Il n'existe pas d'entité prédéfinie pour les lettres accentuées ou pour les alphabets latins. Il faut utiliser à la place les entités numériques du type &#n; (où n est une valeur décimale). Par exemple le é est codé é. Il est néanmoins possible d'importer des entités en provenance d'une autre DTD, notamment celle du HTML. Les sections CDATA Une section CDATA est une section pouvant contenir toute sorte de chaîne de caractères. Elle permet de définir un bloc de caractères ne devant pas être analysé par le processeur XML. Ceci permet entre autres de garder dans un bloc de texte un exemple de code à afficher tel quel. <![CDATA[Une balise commence par un < et se termine par un >.]] > 5/6 5. Règles de composition Un certain nombre de règles de base doivent être respectées : les balises XML sont sensibles à la casse; les balises doivent être correctement imbriquées; Toutes les balises portant un contenu non vide doivent être fermées <element>texte</element> Les balises n'ayant pas de contenu doivent se terminer par /> les documents XML doivent avoir un élément racine; les valeurs d'attribut doivent être entre guillemets ("); Un nom d'élément ne peut commencer par un chiffre; Si le nom d'élément n'est composée que d'un seul caractère, ce doit être une lettre comprise entre "a" et "z" pour les minuscules, "A" et "Z" pour les majuscules. Si le nom d'élément est composé d'au moins deux caractères, le premier peut être "_" ou ":". Le nom peut ensuite être composé de lettres, chiffres, tirets, soulignés et deux points. Les noms d'attributs sont en minuscules; les espacements sont préservés. 6. Bien formés et valides XML avec une syntaxe correcte est dit bien formé. XML qui est conforme à sa DTD est dit valide. La DTD définit la structure d'un document XML avec la liste des éléments permis. Le XML-Schema est une alternative à la DTD qui remplit les mêmes fonctions. Les erreurs bloquent l'interprétation d'un document XML par un programme. 7. Support XML Les navigateurs récents supportent tous, plus ou moins, le standard XML 1.0, définit par le W3C. Nous recommandons Internet Explorer 5,0+ ou Netscape 6 pour un visionnement optimal des documents XML. Un document invalide ou mal formé retournera une erreur par le navigateur. Comme le XML n'est pas conçu pour présenter de l'information, visionner un document XML dans un navigateur n'est pas une expérience comparable au visionnement d'un document HTML. 6/6
Documents pareils
Programmation Web II
Deux informations sont fournies dans la déclaration :
version : version du XML utilisée dans le document (1.0
en ce qui nous concerne)
encoding : le jeu de codage de caractères utilisé. Le jeu
...