Un livre de Wikilivres. Une version à jour et éditable de ce livre est disponib

Un livre de Wikilivres. Une version à jour et éditable de ce livre est disponible sur Wikilivres, une bibliothèque de livres pédagogiques, à l'URL : http://fr.wikibooks.org/wiki/Programmation_XML Vous avez la permission de copier, distribuer et/ou modifier ce document selon les termes de la Licence de documentation libre GNU, version 1.2 ou plus récente publiée par la Free Software Foundation ; sans sections inaltérables, sans texte de première page de couverture et sans Texte de dernière page de couverture. Une copie de cette licence est inclue dans l'annexe nommée « Licence de documentation libre GNU ». Introduction XML est l'acronyme d'eXtended Markup Language, soit « langage de balise étendu » en français. XML permet la structuration et la manipulation de toutes sortes de données dans un format se voulant le plus indépendant possible des plates-formes et des logiciels. La technologie XML vise à devenir le standard d'échange principal entre systèmes hétérogènes. XML hérite de SGML et à ce titre est un cousin de HTML. C'est un langage de balises comme HTML mais extensible et strict. À partir de XML, il est possible de dériver des langages spécialisés comme XHTML ou MathML, ou tout autre langage, et ceci grâce au fait que les noms des balises peuvent être réinventés (étendus) en fonction des besoins. Histoire de XML Juillet 1997 : Création du groupe de travail XML par le W3C 10 février 1998 : Publication de la spécification XML 1.0 (http://www.w3.org/TR/1998/REC-xml- 19980210) [archive] 4 février 2004 : XML (3eme édition) 1.0 (http://www.w3.org/TR/REC-xml/) [archive] 4 février 2004 : spécification XML 1.1 (http://www.yoyodesign.org/doc/w3c/xml11/index.html) [archive] (français) Programmation XML/Version imprimable — Wikilivres https://fr.wikibooks.org/w/index.php?title=Programmation_XML/Vers... 1 sur 47 13/07/2015 23:16 Structure d'un document XML Un document XML est fondamentalement de type texte, par opposition à d'autres structures informatiques qui peuvent être de type binaire (programmes exécutables, base de données). Ce texte est généralement un texte unicode[1], souvent au format UTF-8. Un simple éditeur de texte compatible Unicode/UTF8, est donc capable de créer, d'ouvrir ou de modifier un document XML stocké sur disque. Mais un document XML n'existe pas uniquement sous forme de fichier. Il peut exister aussi temporairement en mémoire comme format de transfert de données entre deux applications logicielles (par exemple sous forme de requête html POST pour transmettre un formulaire fraîchement tapé par l'internaute). Donc, le document XML est un format dont nous allons décrire la structure : Éléments d'un document XML Balisage Un document XML est constitué de balises. Une balise est une chaîne de caractères constituant un identificateur et placé entre un caractère < et un caractère >. Il existe différentes sortes de balises : Les balises ouvrantes <item> Les balises fermantes </item> Les balises vides <nop/> Les instructions de traitement <?xml-stylesheet ... ?> Les commentaires <!-- J'explique --> Les sections CDATA (Character DATA) <![CDATA[ Contenu de la section ]]> Conventions de nommage des balises Les noms ne peuvent pas commencer par la chaîne de caractères « xml », dans n'importe quelle combinaison de casse (ou Xml, ou XML…) ; les noms sont sensibles à la casse (différentiation minuscules/majuscules) ; les noms ne peuvent pas débuter par un nombre ou un signe de ponctuation ; les noms ne peuvent pas contenir d'espaces ; éviter les caractères accentués et les opérateurs, virgules, point-virgules… Les balises ouvrantes Une balise ouvrante est un élément délimitant une section. La section se termine ensuite par une balise fermante. Une balise ouvrante est une chaîne composée de chiffres, de lettres et des caractères - et _. Cette chaîne est comprise entre un < et un >. Exemple : <balise> Programmation XML/Version imprimable — Wikilivres https://fr.wikibooks.org/w/index.php?title=Programmation_XML/Vers... 2 sur 47 13/07/2015 23:16 Les balises fermantes Une balise fermante reprend l'identificateur de la balise ouvrante, en le précédent d'un caractère « barre de fraction » (slash). Exemple : </balise> Les balises vides Une balise « vide » est le résultat de la contraction d'une balise ouvrante et d'une balise fermante ne contenant pas de données. <div></div> donne <div /> Les attributs Les balises ouvrantes et les balises vides peuvent être enrichies avec des attributs. <root> <item id="67af65c75b" date="22/01/2006">Contenu de l'élément</item> <break mode="immediat"/> </root> Dans l'exemple ci-dessus, la balise ouvrante item est munie de deux attributs, id et date. La balise vide break est munie de l'attribut mode. Les instructions de traitement Une instruction de traitement est destinée à être lue et comprise par un programme spécifique, afin de permettre le traitement du document XML. Une instruction de traitement commence par un point d'interrogation « ? ». Exemple : <?php echo date("d/m/Y") ?> Voir aussi : Le point sur les instructions de traitement (http://www.yoyodesign.org/doc/w3c/xml11 /index.html#sec-pi) [archive] sur yoyodesign.org Les commentaires Les commentaires sont des balises qui ne sont pas interprétées par l'application qui traite le document XML. Un commentaire est une balise commençant par <!-- et terminant par -->. Exemple : Programmation XML/Version imprimable — Wikilivres https://fr.wikibooks.org/w/index.php?title=Programmation_XML/Vers... 3 sur 47 13/07/2015 23:16 <!-- Ceci est un commentaire utilisé dans les langages web --> Les entités XML 1.0 définit un petit nombre d'entités utilisables dans le document sans nécessiter de déclaration dans le doctype. Ces entités sont : Entité Caractère Description < < Symbole « inférieur » > > Symbole « supérieur » & & Esperluette, « et » commercial &apos; ' guillemet simple " " guillemet double Toujours sans déclaration de doctype spécial, on peut écrire une entité avec « & », « # », une référence unicode [1] et un « ; ». Entité Caractère Description π π pi β β bêta Exemple <balise>Etudions la balise &lt;p&gt;</balise> Etudions la balise <p> Structure d'un document XML En-tête Les trois constituants de l'en-tête que nous allons décrire ne sont pas obligatoires. Ils sont employés en cas de besoin pour fixer l'encodage, définir le doctype et/ou associer une feuille de style. Version, encodage Il est souhaitable que le document XML commence par l'indication de la version du langage et le jeu de caractères utilisé. C'est souvent utf-8[1]. Il est également souhaitable, si le document est stocké sur disque, que l'encodage du fichier soit le même que celui mentionné par l'attribut encoding… <?xml version="1.0"?> <!-- minimal --> <!-- ou --> <?xml version="1.0" encoding="utf-8"?> Référence au DTD Programmation XML/Version imprimable — Wikilivres https://fr.wikibooks.org/w/index.php?title=Programmation_XML/Vers... 4 sur 47 13/07/2015 23:16 La deuxième information utile est la mention du doctype. Certains documents XML en ont impérativement besoin, d'autres peuvent s'en passer. <!DOCTYPE root[ <!ELEMENT root (premier,deuxieme+)> <!ELEMENT premier (#PCDATA)> <!ELEMENT deuxieme (#PCDATA)> ]> En analysant ce doctype, l'analyseur syntaxique (le parser, p.ex. : via Cooktop (http://www.xmlcooktop.com/) [archive] ou encore XML tools pour Notepad++ (http://sourceforge.net /projects/npp-plugins/files/XML%20Tools/) [archive]) est en mesure de considérer le document XML comme valide. Mention d'une feuille de style Il est possible d'associer un document XML à une feuille de style css ou xsl. Si la fonctionnalité fait réfléchir, au début, il y a fort à parier que vous en abandonnerez la pratique par la suite. En effet, la philosophie XML va à l'opposé. <?xml-stylesheet type="text/xsl" href="../../style.xsl"?> <!-- ou --> <?xml-stylesheet type="text/css" href="../../style.css"?> Une seule racine Une balise a un statut spécial, c'est la racine du document XML. C'est à partir de cette balise que se développe l'arborescence du document. Règles de mise en œuvre des balises Toute balise ouverte doit être fermée. Les balises doivent être correctement imbriquées. Les balises sont imbriquables hiérarchiquement sans limitation mais il ne doit y avoir qu'un seul élément à la racine. Le corps d'un document XML est une arborescence d'éléments (balises) imbriqués, avec un élément racine unique. <root> <balise1> <balise2> </balise2> </balise1> </root> Quand toutes ces règles sont respectées, on obtient un document XML « bien formé ». Dans ce cas, un navigateur comme Internet explorer ou Firefox peut l'ouvrir. Dans le cas contraire, le navigateur affiche un message d'erreur. Programmation XML/Version imprimable — Wikilivres https://fr.wikibooks.org/w/index.php?title=Programmation_XML/Vers... 5 sur 47 13/07/2015 23:16 Exemple de structure simple <?xml version="1.0" ?> <root> <items> <item no="1">Premier élément</item> <item no="2">Autre chose</item> <item no="3">Troisième élément</item> <item no="4">Quatrième élément</item> </items> </root> Références Unicode est un standard qui permet une représentation abstraite et universelle du texte. Pour découvrir ce sujet, on pourra lire le wikilivre: À la découverte d'Unicode. 1. http://www.w3schools.com/xml/xml_attributes.asp 2. Liens Traduction française de la spécification XML1.1 (http://www.yoyodesign.org/doc/w3c/xml11 /index.html) [archive] Espace de nom Les espaces de noms (ou namespace) sont destinés à lever les ambiguïtés éventuelles des intitulés de balise, au moyen d'un identifiant de ressource unique (URI). Syntaxe L'exemple ci-dessous contient deux déclarations, la première par défaut et la seconde associant le préfixe « ip » à l'URI des adresses IP, pour les distinguer des adresses postales : <adresse xmlns="http://www.example.com/adresses_postales" xmlns: ip="http://www.example.com/adresses_ip"> Définition de Type Document Introduction Le DTD permettent de décrire la forme que doit avoir un document XML pour être valide. Les DTD ont été remplacées par XML Schema qui est bien plus puissant et expressif, aussi nous vous encourageons, pour Programmation XML/Version imprimable — Wikilivres https://fr.wikibooks.org/w/index.php?title=Programmation_XML/Vers... 6 sur 47 13/07/2015 23:16 tout nouveau projet de favoriser systématiquement l'utilisation de Schema aux DTD. Nous abordons toutefois les DTD ici, afin que vous puissiez en comprendre une si besoin. Notamment, vous pourriez être amener à transformer une DTD uploads/Litterature/ programmation-xml-fr.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager