1 Introduction au langage XML Nhan Le Thanh 2 Plan du cours eXtensible Markup L

1 Introduction au langage XML Nhan Le Thanh 2 Plan du cours eXtensible Markup Language „ Éléments de base du XML „ DTD : Document Type Description „ XPath : XML Path Language „ XML Schema „ XSLT : Transformations XML Style Language „ Programmation avec XML : SaX et DOM S1 S2 S3 => projet 3 Introduction au langage XML 1: XML & DTD 4 Introduction : W3C et XML „ Le World Wide Web Consortium (W3C) ‰ URL: http://www.w3.org ‰ 400 partenaires industriels, parmi lesquels les plus grand comme Oracle, IBM, Compaq, Xerox, Microsoft ‰ Laboratoires de recherche: MIT pour les États Unis, INRIA pour l’Europe, université Keio (Japon) pour l’Asie „ XML : recommandation W3C pour ‰ les documents Web (généralisation de HTML), ‰ mais aussi pour l’échange, la transformation, l’intégration et ‰ l’interrogation des données sur le Web. „ XML : pourquoi je l’utilise ? 5 Introduction : W3C et XML(2) „ SGML : Standard Generalized Markup Language ‰ Trop compliqué, inadapté aus besoins du WWW „ HTML : HyperText Markup Language ‰ Simple mais ayant beaucoup de problème „ XLM : eXtensible Markup Language (1997) ‰ Adaptation de SGML aux besoins du World Wide Web ‰ Objectifs : „ Séparation des données et de leur mise en forme (XML, XSL) „ Séparation des informations structurelles et des données (DTD) 6 Éléments de base : Principe „ Principe clé de XML: séparer la structure d’un document de sa présentation „ Avantages: ‰ indépendance entre les outils de présentation (browser) et les outils de gestion de l’information ‰ différentes présentations sont possibles pour le même document (transformation) ‰ interrogation (semi-)structurée de documents 7 Éléments de base : notion de balise <?xml version="1.0" encoding="ISO-8859-1"?> <CINEMA> <NOM> Epée de Bois </NOM> <ADRESSE> 10, rue du Cinéma </ADRESSE> <BUS> 101:Fabron-Valrose </BUS> </CINEMA> 8 Éléments de base : DOM et Parseur „ Document a une forme arborescente : ‰ DOM : Un arbre, constitué de noeuds typés (éléments, commentaires, valeurs, etc) DOM = Document Object Model CINEMA CINEMA NOM NOM ADRESSE ADRESSE BUS BUS Épée de bois 10, rue du Cinéma 101, Fabron-Valrose 9 Éléments de base : DOM et Parseur „ Parseur : programme permettant le passage de la forme sérialisée à la représentation arborescente de DOM „ Le document sérialisé est analysé, et une représentation arborescente est créée : ‰ le noeud racine est de type Document ‰ les catégories syntaxiques (commentaires, balises, texte) se traduisent par différents types de noeuds (Comment, Element,Text, …) ‰ les noeuds constituent un arbre qui reflète l’imbrication des éléments dans la forme sérialisée 10 Éléments de base : DOM et Parseur Exemple : représentation sérialisée (textuelle) <?xml version="1.0" encoding="ISO-8859-1"?> <!-- Commentaire --> <A>Le texte de A <B>Le texte de B</B> <D attr1="1" attr2="azerty"> <C/> </D> <![CDATA[2x < y]]> </A> 11 Éléments de base : DOM et Parseur Représentation DOM Document Document Comment - commentaire Comment - commentaire Element A Element A Text Le texte de A Text Le texte de A Element B Element B Element D Element D CDataSection - 2x < y CDataSection - 2x < y Text Le texte de B Text Le texte de B Attr attr1 1 Element C Element C Attr attr2 azerty 12 Éléments de base : structure d’un document „ Un document XML comprend trois parties : ‰ le prologue, avec la déclaration XML, la DTD, des commentaires, des instructions de traitements (optionnels) ‰ un élément racine avec son contenu ‰ un épilogue avec des commentaires, ou des instructions de traitements (optionnels) „ Le contenu du document proprement dit est le contenu de l’élément racine. 13 Éléments de base : Prologue - Déclaration „ Tout document XML peut être précédé par une déclaration : <?xml version="1.0" encoding="ISO-8859-1"?> ‰ l’attribut « encoding » indique le jeu de caractères utilisé dans le document (norme iso10646) ‰ l’attribut optionnel « standalone » indique si le document est composé de plusieurs entités. 14 Éléments de base : Types - DTD „ On peut indiquer qu’un document est conforme à une DTD, et déclarer des entités. <!DOCTYPE nom SYSTEM "sourceExt" [decLoc]> ‰ nom est le type de l’élément racine ‰ sourceExt est une source extérieure contenant la DTD ‰ decLoc sont des déclarations locales (pour les entités principalement) DTD = Document Type Description 15 Éléments de base : Syntaxe du langage „ La syntaxe XML permet la représentation sérialisée d’un arbre DOM: ‰ les éléments (et leurs attributs) ‰ les entités ‰ les commentaires ‰ les instructions de traitement ‰ les sections de texte ‰ les sections littérales Ainsi que quelques règles sur la structure d’un document 16 Syntaxe : Balises ou éléments „ La balise (appelée également élément) est la notion principale pour définir le contenu d’un document XML „Dans la forme sérialisée : „ C’est une balise ouvrante avec un nom, puis „ un contenu, „puis une balise fermante „ Dans la forme arborescente „ C’est un noeud avec un nom „ Le contenu est un arbre 17 Syntaxe : Balises ou éléments (2) „ Forme générale <nom_d_element> contenu </nom_d_element> „ Les noms sont libres. Ils obéissent à quelques règles : ‰ 1er caractère ∈{ alpha, « - », « _ »} ‰ Autres caractères ∈{ alpha, chiffre, « - », « _ », « : »} ‰ Pas de blanc ‰ Les majuscules sont distinguées des minuscules ‰ 3 premiers caractères sont différents à «xml » „ La balise de fermeture est obligatoire 18 Syntaxe : Balises ou éléments (3) „ Le contenu d'un élement peut être ‰ vide (<toc></toc> ou <toc/>) ‰ du texte sauf « < » ou « > » ou « & » ‰ un ou plusieurs éléments complets ‰ une répétition de textes et d‘éléments ‰ Les blancs comptent : „ <a> X </a> est différent de <a>X</a> ‰ Les deux systèmes de codage des retours de lignes sont pris en charge 19 Syntaxe : arbre d’éléments „ Un document XML est un et un seul arbre d‘éléments. C'est-à-dire pas de chevauchement d‘éléments. La notation <list> ... <item> ... </list> ... </item> est invalide. Il faut la corriger comme suit <list> ... <item> ... </item> ... </list> „ Un document XML est compose d'un seul élément. La notation <?xml version="1.0" encoding="iso-8859-1" ?> <article> ... </article> <article> ... </article> est invalide. Il faut la corriger comme suit <?xml version="1.0" encoding="iso-8859-1" ?> <stock> <article> ... </article> <article> ... </article> </stock> 20 Syntaxe : Exemple des éléments „ Exemple : un élément avec contenu <?xml version="1.0" encoding="ISO-8859-1"?> <A>Le texte de A <B>Le texte de B</B> </A> Élément A Élément B Texte Le texte de A Texte - Texte Le texte de B 21 Syntaxe : Les attributs „ Un élément ouvrant peut être enrichi par des couples de la forme attribut1=valeur1 comme dans l'exemple <A att1=’1’ att2=’2’> ‰ l’ordre des attributs n’est pas important ‰ il doit toujours y avoir une valeur (différent de HTML), encadrée par des guillemets ou des apostrophes ‰ il ne peut pas y avoir deux attributs avec le même nom dans un élément. Le nom des attributs suit les mêmes règles syntaxiques que les noms d‘éléments. 22 Syntaxe : Les attributs (2) „ Exemple ‰ <A att1=’1’ att2=’2’> est équivalent à <A att2=’2’ att1=’1’> ‰ <A att=a> n’est pas bien formé: pas d’apostrophe ‰ <A att1=’1’ att1=’2’/>: interdit ‰ <A att1=’1’/> <B att1=’2’/>: autorisé (deux éléments différents) ‰ <A att1=’ " v " ’/> <B att2= " ’2’" />: autorisé 23 Syntaxe : Les attributs (3) „ Un choix de présentation : par balise ou par attribut ? ‰ <produit nom="DVD" prix='200'> ‰ <produit> <nom>DVD</nom> <prix>150</prix> </produit> „ Un critère : l'attribut doit changer l'interprétation des données : ‰ <prix monnaie="Euro"> 150 </prix> 24 Syntaxe : Les attributs réservés „ xml:lang='langue' permet de définir la langue utilisée dans l‘ élément et tous les sous-éléments. La langue suit la norme ISO 3166 définie par la RFC 1766 (Request For Comment). Par exemple: fr ou en-US ou fr-FR „ xml:space='preserve' ou xml:space='default' permet de définir l'interprétation des espaces dans l‘élément et tous les sous-éléments. 25 Syntaxe : Les attributs réservés (2) „ xml:id='identificateur' permet d'associer une et une seule clef a un élément . „ xml:idref='identificateur' permet de faire référence a une clef. „ Exemple : <section> <p> apres la section <xref idref='intro'>d'introduction</xref> nous allons passer au plat de résistance... </section> <section id='intro'> <titre>introduction a XML</titre> ... </section> 26 Syntaxe : Entités et références à des entités „ Les entités servent à factoriser des parties du document. Ce sont des fragments de document XML définis dans la DTD „ La référence d'entité se note : &nom_de_l_entité; „ Il existe des entités prédéfinis : &apos; donne ' &#nnn; donne le caractère de code décimal nnn, &#xnnn; donne le caractère de code hexadécimal nnn, & donne & < donne < > donne > " donne " 27 Syntaxe : Entités et références à des entités(2) Exemple : utilisation des entités <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE A SYSTEM "minimal.dtd" [ <!ENTITY monTexte "texte simple"> <!ENTITY maSignature uploads/Ingenierie_Lourd/ introduction-au-langage-xml 1 .pdf

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