La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Nicolas Singer Maître de conférence, université Champollion

Présentations similaires


Présentation au sujet: "Nicolas Singer Maître de conférence, université Champollion"— Transcription de la présentation:

1 Nicolas Singer Maître de conférence, université Champollion
XML Nicolas Singer Maître de conférence, université Champollion

2 XML ? Langage de description de documents électroniques :
Pour représenter et structurer de l'information Afin d'échanger cette information Et donc écrire des applications informatiques

3 D’où vient XML ? Du SGML Standard Generalized Markup Language langage de balisage standard généralisé Standard de 1986 pour les documents électroniques quelconques complexe à apprendre et à utiliser quotidiennement.

4 D’où vient XML ? Du HTML (1991) Hypertext Markup Language
langage de balisage hypertexte Dérivé du SGML pour la publication de documents Web Retour vers SGML avec le XHTML Champ d’action limité car dédié au Web. Surtout basé sur la présentation (peu de description du contenu)

5 Pourquoi XML ? exemple HTML <H1> Slogan </H1>
<H3> François Jacques </H3> <IMG SRC= "photoJacques.jpg"> <P> Vers un avenir meilleur porteur d’espoir </P> <P align="center"> Votez pour moi </P>

6 Naissance d’XML XML (1998) Dérivé du SGML qui tente de se servir des principes de simplicité du HTML et de la souplesse SGML. Se focalise sur la structuration des données et pas sur leur mise en forme. tout document XML peut être basé sur une DTD ou un schéma afin de figer cette structuration.

7 Exemple XML <?xml version="1.0" encoding="ISO-8859-1"?>
<slogan>     <auteur> François Jacques </auteur> <photo> photoJacques.jpg </photo> <message> Vers un avenir meilleur porteur d’espoir </message> <intention> Votez pour moi </intention> </slogan>

8 Principe de XML Séparation forme et fond.
Pour afficher un document XML, il faut donc Un fichier contenant les données à mettre en forme (XML). Un fichier informant sur la mise en forme souhaitée (XSL). Optionnel : un fichier peut définir les balises auxquelles le document XML pourra avoir recours. C’est la DTD (Document Type Definition)

9 Principe de XML Un document XML est bien formé s'il respecte les règles syntaxiques du XML Un document XML est valide s'il est bien formé et respecte la structure définie dans sa DTD Un document XML sans DTD est dit "standalone" On ne précise donc pas quels sont les balises qui peuvent y figurer et leur imbrication Il n'y a donc pas de notion de validité pour un tel document.

10 Structure XML Dans un document XML on trouve : Un prologue
Déclaration XML Des éléments optionnels Déclaration de type de document (DTD) Déclaration de traitement (feuilles de style, etc.) Un élément racine Un arbre d’éléments

11 Structure XML <?xml version="1.0" encoding="ISO-8859-1"?>
<biblio> <livre>     <titre> Les Misérables </titre>     <auteur> Victor Hugo </auteur>     <nb_tomes> 3 </nb_tomes> </livre> <livre>     <titre> L'Assomoir </titre>     <auteur> Émile Zola </auteur> </livre> <livre lang="en">     <titre> David Copperfield </titre>     <auteur> Charles Dickens </auteur>     <nb_tomes> 3 </nb_tomes> </livre> </biblio>

12 Décodage de l’exemple <?xml version="1.0" encoding="ISO "?> Cette déclaration nous indique la version du XML, et l’encodage des caractères <biblio> …. </biblio> Constitue l’élément racine du document <titre> Les Misérables </titre> Ici l’élément titre contient du texte <livre>   <titre> L'Assomoir </titre>   <auteur> Émile Zola </auteur> </livre> Ici l’élément livre contient d’autres éléments.

13 Décodage de l’exemple Un élément est constitué d'une balise ouvrante et fermante <livre> …. </livre> Si le contenu de l'élément est vide, on peut écrire : <livre> </livre> ou <livre />

14 Décodage de l’exemple <livre lang="en">
L’élément livre contient un attribut lang dont la valeur est "en". Les attributs ne peuvent être présents que dans la balise ouvrante d'un élément. La valeur des attributs est toujours entre guillemets. On ne peux pas avoir deux fois le même attribut mais on peut avoir plusieurs attributs différents. <img src="ours.gif" alt="Gros ours" width="56"  />

15 Structure XML (suite) Un document XML peut contenir des entités
Il s'agit de notations qui sont remplacées par leur valeur lors de l'analyse du document Elle peuvent être prédéfinie par le standard XML Elles peuvent être définies dans la DTD Elles s'utilisent encadrées par les caractères & et ; Par exemple voici quelques entités: < correspond à < " correspond à " &aquot; correspond à ' é correspond à é

16 Structure XML (suite) Cet élément n'est pas bien formé en XML
<equation> 2x + 3 < 2x (équation &1) </equation> Il doit être remplacé par : 2x + 3 < 2x (équation &1)

17 Structure XML (suite) Un document XML peut contenir des sections littérales Il s'agit d'une section qui débute par la notation <![CDATA[ et qui se termine par ]]> Par exemple : <![CDATA[Une balise commence par un < et se termine par un >.]]> Le contenu d'une section CDATA n'est pas analysé par le parseur XML

18 Structure XML (suite) Un document XML peut contenir des commentaires
Ils suivent la même syntaxe qu'en HTML <!-- Commentaire -->

19 Écrire du XML Comment utiliser éléments et attributs ?
Exemple : Un document listant les étudiants de licence avec leur groupe, sous-groupe, nom, et prénom…

20 Les DTDs Elles permettent de spécifier (et d'imposer) la structure d'un document XML Elles peuvent définir des entités Un document XML qui est bien formé et respecte sa DTD est dit valide.

21 Les DTDs Elle se déclare en utilisant :
<!DOCTYPE element …. "…" "…"> où element désigne la racine du document auquel cette DTD s'applique. Une DTD peut être stockée dans le document lui-même ou dans un fichier externe

22 Les DTDs DTD externe locale : DTD externe publique :
<!DOCTYPE element SYSTEM "bibliographie.dtd"> DTD externe publique : <!DOCTYPE element PUBLIC  "-//singer//maDTD//FR"  "

23 Les DTDs DTD interne : <!DOCTYPE biblio[
<!ELEMENT biblio (livre)*> <!ELEMENT livre (titre, auteur, nb_pages)> <!ATTLIST livre type (roman | nouvelles | théâtre) #IMPLIED lang CDATA "fr" > <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur (#PCDATA)> <!ELEMENT nb_pages (#PCDATA)> ]>

24 Les DTDs Dans une DTD on trouve : Des déclarations d'éléments
Des déclarations d'attributs (d'éléments) Des déclarations d'entités

25 Les DTDs : éléments Une déclaration d'éléments est de la forme :
<!ELEMENT nom type_element> où nom est le nom de l'élément et type_element son type : Texte : (#PCDATA) Vide : EMPTY Séquence : (elt1,elt2,elt3,…) Choix : (elt1 | elt2 | elt3 | …) Quelconque : ANY

26 Les DTDs : éléments Les éléments texte :
<!ELEMENT exemple (#PCDATA)> Utilisation : <exemple> n'importe quel texte peut venir ici </exemple>

27 Les DTDs : éléments Les éléments vides :
<!ELEMENT exemple EMPTY> Utilisation : <exemple /> ou <exemple> </exemple>

28 Les DTDs : éléments Les éléments séquence :
<!ELEMENT exemple (ex1,ex2,ex3) > Utilisation : <exemple> <ex1> … </ex1> <ex2> … </ex2> <ex3> … </ex3> </exemple> Mais pas : <exemple> <ex1> … </ex1> <ex3> … </ex3> </exemple>

29 Les DTDs : éléments Les éléments choix :
<!ELEMENT exemple (ex1 | ex2 | ex3) > Utilisation : <exemple> <ex1> … </ex1> </exemple> Ou encore : <exemple> <ex1> … </ex1> <ex3> … </ex3> </exemple>

30 Les DTDs : éléments Les modificateurs d'occurrence :
Lors de la déclaration de séquence ou de choix d'éléments, à chaque élément enfant peut être attribuée une indication d'occurrence (?, + ou *). ? Signifie au maximum une fois + signifie au moins une fois * signifie zéro fois ou plus

31 Les DTDs : éléments Les modificateurs d'occurrence : exemple:
<!ELEMENT exemple (ex1, ex2?, ex3+, ex4*)> ex1 doit apparaître une fois et une seule ex2 peut apparaître une seule fois ex3 doit apparaître au moins une fois ex4 peut apparaître zéro ou plusieurs fois

32 Les DTDs : éléments Les modificateurs d'occurrence :
En choisissant bien ses modificateurs, on peut créer des éléments à contenu mixte. Par exemple : <!ELEMENT exemple (#PCDATA | auteur)* > Utilisation : <exemple> Un peu de texte <auteur> Nicolas </auteur> </exemple>

33 Les DTDs : éléments Les éléments quelconques :
<!ELEMENT exemple ANY > Utilisation : <exemple> …. <!-- tout et n'importe quoi, y compris rien --> </exemple>

34 Les DTDs : attributs Les attributs se déclarent avec la syntaxe : Où
<!ATTLIST nom_element  nom_attribut1 type_attribut1 déclaration_défaut1 nom_attribut2 type_attribut2 déclaration_défaut2 … > nom_element désigne l'élément auquel s'applique l'attribut nom_attribut défini le nom de l'attribut type_attribut défini quelles valeurs peut prendre l'attribut déclaration_défaut défini la valeur par défaut de l'attribut On peut préciser autant d'attribut que l'on veut dans une ATTLIST

35 Les DTDs : attributs Chaque attribut peut être requis, optionnel ou fixe et avoir une valeur par défaut. Déclaration d'un attribut avec une valeur par défaut : <!ELEMENT elt (...)>   <!ATTLIST elt attr CDATA "valeur"> Déclaration d'un attribut requis : <!ELEMENT elt (...)>   <!ATTLIST elt attr CDATA #REQUIRED> Déclaration d'un attribut optionnel : <!ELEMENT elt ...)>   <!ATTLIST elt attr CDATA #IMPLIED> Déclaration d'un attribut avec une valeur fixe : <!ELEMENT elt (...)>   <!ATTLIST elt attr CDATA #FIXED "valeur">

36 Les DTDs : attributs Les types possibles pour un attribut
Type chaîne de caractères (CDATA) <!ELEMENT elt (...)> <!ATTLIST elt attr CDATA #IMPLIED> Type Identifiant Unique (ID) <!ATTLIST elt attr ID #IMPLIED> Type énuméré (|)   <!ATTLIST img format (BMP | GIF | JPEG) "JPEG">

37 Les DTDs : entités Les entités internes.
Symboles définis dans une DTD et utilisés dans un document XML comme raccourcis d'écritur <!ENTITY ADN "Acide désoxyribonucléique"> Dans le fichier XML, l'appel à &ADN; sera remplacé par "Acide désoxyribonucléique".

38 Les DTDs : entités Les entités externes
Il s'agit de symboles définis dans un autre fichier, mais pouvant être utilisés dans un document XML. <!ENTITY Inclusion SYSTEM "toto.xml"> Dans le fichier XML, le contenu du fichier toto.xml sera inséré à l'appel de l'entité &Inclusion;


Télécharger ppt "Nicolas Singer Maître de conférence, université Champollion"

Présentations similaires


Annonces Google