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 : ' 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
Documents similaires
-
12
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 12, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.1834MB