08/10/2009




Chapitre 1 –
Introduction XML

Ibrahim BENLAZREG
be_brahim@yahoo.fr




                             1
08/10/2009




Langage de marquage
(Markup Language)
 Un langage de marquage est un langage qui
 définit les règles de marquage qui donnent une
 signification à la structure et au contenu des
 documents.
 Ces règles définissent la grammaire et la
 syntaxe du langage.
 Exemples de langages de marquage :
   HTML
   XML                                        2




                                                          2
08/10/2009




Langage de marquage
 Un langage de marquage est composé :
   Éléments
   Attributs
   Entités




                                        3




                                                    3
08/10/2009




Éléments
 Les éléments sont les blocs de données
 principaux des documents XML et HTML.
 Exemples d'éléments HTML: "body" et
 "table".
 Exemples d'éléments XML: "livre" et "isbn".
 Les éléments peuvent contenir du texte,
 d'autres éléments, ou être vides.
 Exemples d'éléments HTML vides: "hr", "br"
 et "img".                                     4




                                                           4
08/10/2009




Attributs
 Les attributs fournissent de l'information
 additionnelle concernant les éléments.
 Exemple :
 <IMG SRC="ordinateur.gif" />
 <nourriture cholesterol="30mg">frites</nourriture>




                                                      5




                                                                  5
08/10/2009




Entités
 Les entités sont des abréviations.
 Exemples :
   &lt; est l'abréviation prédéfinies du caractère <
   Si la chaîne de caractères Extensible Markup
   Language est déclarée comme une entité associée
   à l'abréviation xml, la chaîne de caractères pourra
   être abrégée en &xml; dans tout le document.


                                                         6




                                                                     6
08/10/2009




Historique des langages « Markup »
 SGML (Standard Generalized Markup Language,
 ISO standard en 1986)
   meta-langage pour définir des langages de "markup"
 HTML (application SGML + liens en 1990)
   une application SGML avec très peu de balises (tags) fixes
 XML (1997, -)
   un meta-langage plus léger que SGML adapté au Web
   permet la définition de langages adaptés à des besoins très
   variés


                                                                 7




                                                                             7
08/10/2009




Besoins …
 On veut beaucoup maintenant, par exemple:
   structurer de l’information
   .... et la retrouver facilement
   .... et l’imbriquer facilement dans des applications
   faire des hypertextes puissants
   afficher et imprimer de façon flexible et jolie
   un format universel pour toute sortes de données et usages
   diffuser/échanger/stocker/chercher/..... pas juste afficher
   un meta-langage qui permet de créer des langages variés,
   .... adaptés aux besoins, mais “propres”


                                                                 8




                                                                             8
08/10/2009




Insuffisances de HTML
 HTML a un ensemble pré-déterminé de balises
   Il n'est pas possible de créer de nouvelles balises.
 HTML est un langage de présentation
   Les balises donnent des indications sur la manière
   de présenter et non sur le contenu.




                                                          9




                                                                      9
08/10/2009




CSS
 CSS : Cascading Style Sheet

 CSS est utilisé pour définir les couleurs, les polices, le rendu,
 et d'autres caractéristiques liées à la présentation d'un
 document.
 Séparer la structure et la présentation du document.

 Avantages :
   La structure du document et la présentation sont gérées
   dans des fichiers
   séparés.
   Changement plus facile de la structure et du contenu,
   Réduire la complexité de la structure d’un document,
   Adapter le document au dispositif d’accès.                        10




                                                                                 10
08/10/2009




XML




             11
08/10/2009




XML
eXensible Markup Language
Un méta langage permettant la définition de langages adaptés
à des besoins variés.
Extensible et évolutif : les balises ne sont pas prédéfinies.

XML = Puissance SGML + Succès HTML
Représentation de contenus indépendamment de toute
application.
Description, structuration, stockage et échange de données
Séparation entre contenu et forme.
Langage strict : Syntaxe rigoureuse.
Adaptation aux différents types de terminaux (PC, Pocket
PC…)                                                            12




                                                                            12
08/10/2009




XML vs HTML




              13




                          13
08/10/2009




Applications XML
 Langage de Schéma
   XML Schema
 Langage de Représentation
   OpenDocument (Open Office)
   MathML (Mathématique)
   SVG (Scalable Vector Graphics)
 Langage de programmation
   XSLT (Transformation Document XML)
   XPATH (Requête dans des BDs XML)
   XAML (Définition Interface Windows Vista)
   ANT (Script de compilation)
 Protocole d’échange de données
   SOAP (Simple Object Acces Protocol)

                                               14




                                                           14
08/10/2009




Exemple de document XML
   <livre>
     <titre> le super livre </titre>
     <chapitre>
       <numero> 1 </numero>
       <titre> titre du chapitre 1 </titre>
       <contenu> blabla blabla </contenu>
     </chapitre>
     <chapitre>
      …
     </chapitre>
   </livre>
                                              15




                                                          15
08/10/2009




Éléments et balises
 Tous les éléments doivent avoir une balise
 d'ouverture et un balise de fermeture.
 Exemple : <LIVRE> . . . </LIVRE>
 La seule exception est l'élément vide (Empty
 element) dans lequel il n'y a pas de contenu
 d'élément et qui combine la balise ouvrante et
 fermante.
 Exemple : <prix Canada="$70.99"/>
                                                  16




                                                              16
08/10/2009




Attributs
 Les attributs sont à l'intérieur de la balise ouvrante
 d'un élément.
 Syntaxe :
 attribut="valeur"
 Exemple :
 <LIVRE SUJET="XML">.
 L'attribut SUJET de l'élément LIVRE a la valeur "XML".
 En XML, les valeurs doivent toujours être encadrées
 par des guillemets.
                                                          17




                                                                      17
08/10/2009




Entités
 Il existe deux catégories d'entités:
   Entités générales
   Entités de paramètre




                                        18




                                                    18
08/10/2009




Entités générales
  Les entités générales sont des variables utilisées pour
 définir des chaînes de caractères.
 Elles sont utilisées pour ne pas avoir à taper de
 longues chaînes de caractères plusieurs fois dans un
 document.
 Exemple :
 &xml; pour "Extensible Markup Language"
 Note :
   Si la chaîne de caractères doit être modifiée, on la modifie
   seulement une fois.
                                                                  19




                                                                              19
08/10/2009




Entités de paramètre
 Les entités de paramètre sont pré-définies dans XML
 Entité de paramètre           Caractère
     &lt;                         <
     &gt;                           >
     &amp;                          &
     &quot;                      "
     &apos;                         '


                                                   20




                                                               20
08/10/2009




Contenu d’un document XML (1/2)
 Un document XML est composé d'éléments.
 Chaque élément présente des caractéristiques appelées
 attributs :
 <titre type="policier">Mort sur le Nil</titre>

 DTD Document Type Definition :définissent les éléments et
 les règles d'utilisation (noms des éléments, attributs possibles
 pour un élément, imbrications)
    Si un document a une DTD associée et qu'il se conforme à cette DTD,
    il est dit valide.
    S'il n'a pas de DTD et qu'il suit les règles définies par XML (par
    exemple : ses éléments sont correctement imbriqués) il est bien formé.


                                                                        21




                                                                                    21
08/10/2009




Contenu d’un document XML (2/2)



 Un document XML peut ne pas avoir de DTD,
 un tel document définit son propre balisage de
 manière informelle. Il doit cependant être bien
 formé, sinon il ne sera pas affiché par un
 navigateur.

                                               22




                                                           22
08/10/2009




 Arbre d’éléments d’un document XML

<?xml version="1.0"?>
<bibliotheque>
  <livre>
    <titre>N ou M</titre>                                       Racine
                                Élément Parent
    <auteur>Agatha</auteur>
    <ref>Policier-C-15</ref>
  </livre>                                             bibliotheque
  <livre>
    <titre>A</titre>
                                               livre                  article
    <auteur>Arthur</auteur>
    <ref>Policier-D-3</ref>
                               titre       auteur      ref
  </livre>
</bibliotheque>

                                       Élément Fils
                                                                          23




                                                                                       23
08/10/2009




A-t-on besoin de feuille de style?
 Le document ne contient aucune information concernant
 l'affichage, c'est sa feuille de style qui définira la présentation
 sur un média (Téléphone, PC, etc.).

 Lorsqu'aucune précision n'est donnée quant à l'affichage (pas
 de feuille de style) la navigateur affichera le contenu du
 document XML.

 CSS : Cascading StyleSheet

 XSL : XML StyleSheet Language


                                                                   24




                                                                               24
08/10/2009




Structure d’un document XML (1/2)
 Un document XML comporte :
   un prologue qui contient toutes les informations autres que
   les données ou les éléments :
      Déclaration XML,
      DTD,
      instructions de traitements : <?xml-stylesheet type="text/css"?>

   l'arbre des éléments avec un élément racine
      Un élément possède un nom et un contenu
   éventuellement des commentaires :
    <!-- commentaire -->



                                                                         25




                                                                                     25
08/10/2009




Structure d’un document XML (2/2)
<? xml version = "1.0" ?>
<? xml-stylesheet href = « biblio.xsl " type = "text/xsl" version = "1.0" ?>
<! DOCTYPE adresses SYSTEM " biblio.dtd">                        Entête du document




<bibliotheque>
  <livres>
          <livre isbn= « 01ZE" >
              <titre>XML pour les nuls</titre>
              <auteur>jean fournier</auteur>
          </livre>
                                                                   Corps du document
</livres>
</bilbliotheque>



                                                                                       26




                                                                                                   26
08/10/2009




Document XML Bien formé (1/2)
 il contient une déclaration XML
 il contient un ou plusieurs éléments
 il contient un élément racine encapsulant tous les autres
 éléments et leurs attributs (ex <HTML> ... </HTML>)
 les éléments non vides ont une balise de début et de fin
 les éléments non vides sont correctement imbriqués (<P>
 <EM> ... </EM> </P>)
 les éléments vides ont un / à la fin de la balise avant le >
 les noms des balises ouvrantes et fermantes correspondent


                                                                27




                                                                            27
08/10/2009




Document XML Bien formé (2/2)
 un nom d'attribut apparaît uniquement dans la balise ouvrante et une seule
 fois dans cette balise
 les valeurs des attributs sont entre guillemets ou apostrophes

 les caractères réservés sont remplacés par des références d'entités (par ex.
 &lt; pour <)

 s'il n'y a pas de DTD, les seules entités utilisées sont celles réservées de
 XML &amp; &lt; &gt; &apos; &quot;
 s'il y a une DTD toutes les entités non réservées utilisées sont déclarées
 dans la DTD.


                                                                                28




                                                                                            28
08/10/2009




Document XML Valide



 Un document est valide s'il :
   est bien formé
   fait référence à une DTD ;
   se conforme à la DTD.



                                 29




                                             29
08/10/2009




Exercice
 Écrire le fichier XML correspondant à




                                         30




                                                     30
08/10/2009




Bibliographie
 http://www.w3c.org/XML
 http://www.xml.com
 http://fr.wikipedia.org/wiki/XML
 http://xml.apache.org
 http://www.xmlsoftware.com
 news://comp.text.xml


                                    31




                                                31

Chap 1 xml

  • 1.
    08/10/2009 Chapitre 1 – IntroductionXML Ibrahim BENLAZREG be_brahim@yahoo.fr 1
  • 2.
    08/10/2009 Langage de marquage (MarkupLanguage) Un langage de marquage est un langage qui définit les règles de marquage qui donnent une signification à la structure et au contenu des documents. Ces règles définissent la grammaire et la syntaxe du langage. Exemples de langages de marquage : HTML XML 2 2
  • 3.
    08/10/2009 Langage de marquage Un langage de marquage est composé : Éléments Attributs Entités 3 3
  • 4.
    08/10/2009 Éléments Les élémentssont les blocs de données principaux des documents XML et HTML. Exemples d'éléments HTML: "body" et "table". Exemples d'éléments XML: "livre" et "isbn". Les éléments peuvent contenir du texte, d'autres éléments, ou être vides. Exemples d'éléments HTML vides: "hr", "br" et "img". 4 4
  • 5.
    08/10/2009 Attributs Les attributsfournissent de l'information additionnelle concernant les éléments. Exemple : <IMG SRC="ordinateur.gif" /> <nourriture cholesterol="30mg">frites</nourriture> 5 5
  • 6.
    08/10/2009 Entités Les entitéssont des abréviations. Exemples : &lt; est l'abréviation prédéfinies du caractère < Si la chaîne de caractères Extensible Markup Language est déclarée comme une entité associée à l'abréviation xml, la chaîne de caractères pourra être abrégée en &xml; dans tout le document. 6 6
  • 7.
    08/10/2009 Historique des langages« Markup » SGML (Standard Generalized Markup Language, ISO standard en 1986) meta-langage pour définir des langages de "markup" HTML (application SGML + liens en 1990) une application SGML avec très peu de balises (tags) fixes XML (1997, -) un meta-langage plus léger que SGML adapté au Web permet la définition de langages adaptés à des besoins très variés 7 7
  • 8.
    08/10/2009 Besoins … Onveut beaucoup maintenant, par exemple: structurer de l’information .... et la retrouver facilement .... et l’imbriquer facilement dans des applications faire des hypertextes puissants afficher et imprimer de façon flexible et jolie un format universel pour toute sortes de données et usages diffuser/échanger/stocker/chercher/..... pas juste afficher un meta-langage qui permet de créer des langages variés, .... adaptés aux besoins, mais “propres” 8 8
  • 9.
    08/10/2009 Insuffisances de HTML HTML a un ensemble pré-déterminé de balises Il n'est pas possible de créer de nouvelles balises. HTML est un langage de présentation Les balises donnent des indications sur la manière de présenter et non sur le contenu. 9 9
  • 10.
    08/10/2009 CSS CSS :Cascading Style Sheet CSS est utilisé pour définir les couleurs, les polices, le rendu, et d'autres caractéristiques liées à la présentation d'un document. Séparer la structure et la présentation du document. Avantages : La structure du document et la présentation sont gérées dans des fichiers séparés. Changement plus facile de la structure et du contenu, Réduire la complexité de la structure d’un document, Adapter le document au dispositif d’accès. 10 10
  • 11.
  • 12.
    08/10/2009 XML eXensible Markup Language Unméta langage permettant la définition de langages adaptés à des besoins variés. Extensible et évolutif : les balises ne sont pas prédéfinies. XML = Puissance SGML + Succès HTML Représentation de contenus indépendamment de toute application. Description, structuration, stockage et échange de données Séparation entre contenu et forme. Langage strict : Syntaxe rigoureuse. Adaptation aux différents types de terminaux (PC, Pocket PC…) 12 12
  • 13.
  • 14.
    08/10/2009 Applications XML Langagede Schéma XML Schema Langage de Représentation OpenDocument (Open Office) MathML (Mathématique) SVG (Scalable Vector Graphics) Langage de programmation XSLT (Transformation Document XML) XPATH (Requête dans des BDs XML) XAML (Définition Interface Windows Vista) ANT (Script de compilation) Protocole d’échange de données SOAP (Simple Object Acces Protocol) 14 14
  • 15.
    08/10/2009 Exemple de documentXML <livre> <titre> le super livre </titre> <chapitre> <numero> 1 </numero> <titre> titre du chapitre 1 </titre> <contenu> blabla blabla </contenu> </chapitre> <chapitre> … </chapitre> </livre> 15 15
  • 16.
    08/10/2009 Éléments et balises Tous les éléments doivent avoir une balise d'ouverture et un balise de fermeture. Exemple : <LIVRE> . . . </LIVRE> La seule exception est l'élément vide (Empty element) dans lequel il n'y a pas de contenu d'élément et qui combine la balise ouvrante et fermante. Exemple : <prix Canada="$70.99"/> 16 16
  • 17.
    08/10/2009 Attributs Les attributssont à l'intérieur de la balise ouvrante d'un élément. Syntaxe : attribut="valeur" Exemple : <LIVRE SUJET="XML">. L'attribut SUJET de l'élément LIVRE a la valeur "XML". En XML, les valeurs doivent toujours être encadrées par des guillemets. 17 17
  • 18.
    08/10/2009 Entités Il existedeux catégories d'entités: Entités générales Entités de paramètre 18 18
  • 19.
    08/10/2009 Entités générales Les entités générales sont des variables utilisées pour définir des chaînes de caractères. Elles sont utilisées pour ne pas avoir à taper de longues chaînes de caractères plusieurs fois dans un document. Exemple : &xml; pour "Extensible Markup Language" Note : Si la chaîne de caractères doit être modifiée, on la modifie seulement une fois. 19 19
  • 20.
    08/10/2009 Entités de paramètre Les entités de paramètre sont pré-définies dans XML Entité de paramètre Caractère &lt; < &gt; > &amp; & &quot; " &apos; ' 20 20
  • 21.
    08/10/2009 Contenu d’un documentXML (1/2) Un document XML est composé d'éléments. Chaque élément présente des caractéristiques appelées attributs : <titre type="policier">Mort sur le Nil</titre> DTD Document Type Definition :définissent les éléments et les règles d'utilisation (noms des éléments, attributs possibles pour un élément, imbrications) Si un document a une DTD associée et qu'il se conforme à cette DTD, il est dit valide. S'il n'a pas de DTD et qu'il suit les règles définies par XML (par exemple : ses éléments sont correctement imbriqués) il est bien formé. 21 21
  • 22.
    08/10/2009 Contenu d’un documentXML (2/2) Un document XML peut ne pas avoir de DTD, un tel document définit son propre balisage de manière informelle. Il doit cependant être bien formé, sinon il ne sera pas affiché par un navigateur. 22 22
  • 23.
    08/10/2009 Arbre d’élémentsd’un document XML <?xml version="1.0"?> <bibliotheque> <livre> <titre>N ou M</titre> Racine Élément Parent <auteur>Agatha</auteur> <ref>Policier-C-15</ref> </livre> bibliotheque <livre> <titre>A</titre> livre article <auteur>Arthur</auteur> <ref>Policier-D-3</ref> titre auteur ref </livre> </bibliotheque> Élément Fils 23 23
  • 24.
    08/10/2009 A-t-on besoin defeuille de style? Le document ne contient aucune information concernant l'affichage, c'est sa feuille de style qui définira la présentation sur un média (Téléphone, PC, etc.). Lorsqu'aucune précision n'est donnée quant à l'affichage (pas de feuille de style) la navigateur affichera le contenu du document XML. CSS : Cascading StyleSheet XSL : XML StyleSheet Language 24 24
  • 25.
    08/10/2009 Structure d’un documentXML (1/2) Un document XML comporte : un prologue qui contient toutes les informations autres que les données ou les éléments : Déclaration XML, DTD, instructions de traitements : <?xml-stylesheet type="text/css"?> l'arbre des éléments avec un élément racine Un élément possède un nom et un contenu éventuellement des commentaires : <!-- commentaire --> 25 25
  • 26.
    08/10/2009 Structure d’un documentXML (2/2) <? xml version = "1.0" ?> <? xml-stylesheet href = « biblio.xsl " type = "text/xsl" version = "1.0" ?> <! DOCTYPE adresses SYSTEM " biblio.dtd"> Entête du document <bibliotheque> <livres> <livre isbn= « 01ZE" > <titre>XML pour les nuls</titre> <auteur>jean fournier</auteur> </livre> Corps du document </livres> </bilbliotheque> 26 26
  • 27.
    08/10/2009 Document XML Bienformé (1/2) il contient une déclaration XML il contient un ou plusieurs éléments il contient un élément racine encapsulant tous les autres éléments et leurs attributs (ex <HTML> ... </HTML>) les éléments non vides ont une balise de début et de fin les éléments non vides sont correctement imbriqués (<P> <EM> ... </EM> </P>) les éléments vides ont un / à la fin de la balise avant le > les noms des balises ouvrantes et fermantes correspondent 27 27
  • 28.
    08/10/2009 Document XML Bienformé (2/2) un nom d'attribut apparaît uniquement dans la balise ouvrante et une seule fois dans cette balise les valeurs des attributs sont entre guillemets ou apostrophes les caractères réservés sont remplacés par des références d'entités (par ex. &lt; pour <) s'il n'y a pas de DTD, les seules entités utilisées sont celles réservées de XML &amp; &lt; &gt; &apos; &quot; s'il y a une DTD toutes les entités non réservées utilisées sont déclarées dans la DTD. 28 28
  • 29.
    08/10/2009 Document XML Valide Un document est valide s'il : est bien formé fait référence à une DTD ; se conforme à la DTD. 29 29
  • 30.
    08/10/2009 Exercice Écrire lefichier XML correspondant à 30 30
  • 31.
    08/10/2009 Bibliographie http://www.w3c.org/XML http://www.xml.com http://fr.wikipedia.org/wiki/XML http://xml.apache.org http://www.xmlsoftware.com news://comp.text.xml 31 31