31

Click here to load reader

Chap 1 xml

Embed Size (px)

Citation preview

Page 1: Chap 1 xml

08/10/2009

1

Chapitre 1 –

Introduction XML

Ibrahim [email protected]

Page 2: Chap 1 xml

08/10/2009

2

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

Page 3: Chap 1 xml

08/10/2009

3

Langage de marquage

� Un langage de marquage est composé :�Éléments

�Attributs

�Entités

3

Page 4: Chap 1 xml

08/10/2009

4

É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

Page 5: Chap 1 xml

08/10/2009

5

Attributs

� Les attributs fournissent de l'information additionnelle concernant les éléments.

� Exemple :<IMG SRC="ordinateur.gif" />

<nourriture cholesterol="30mg">frites</nourriture>

5

Page 6: Chap 1 xml

08/10/2009

6

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

Page 7: Chap 1 xml

08/10/2009

7

7

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

Page 8: Chap 1 xml

08/10/2009

8

8

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”

Page 9: Chap 1 xml

08/10/2009

9

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

Page 10: Chap 1 xml

08/10/2009

10

10

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.

Page 11: Chap 1 xml

08/10/2009

11

XML

Page 12: Chap 1 xml

08/10/2009

12

12

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…)

Page 13: Chap 1 xml

08/10/2009

13

13

XML vs HTML

Page 14: Chap 1 xml

08/10/2009

14

14

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)

Page 15: Chap 1 xml

08/10/2009

15

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

Page 16: Chap 1 xml

08/10/2009

16

É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

Page 17: Chap 1 xml

08/10/2009

17

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

Page 18: Chap 1 xml

08/10/2009

18

Entités

� Il existe deux catégories d'entités:�Entités générales

�Entités de paramètre

18

Page 19: Chap 1 xml

08/10/2009

19

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

Page 20: Chap 1 xml

08/10/2009

20

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

Page 21: Chap 1 xml

08/10/2009

21

21

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é.

Page 22: Chap 1 xml

08/10/2009

22

22

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.

Page 23: Chap 1 xml

08/10/2009

23

23

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

bibliotheque

livre

titre auteur ref

article

Élément Fils

Élément ParentRacine

<?xml version="1.0"?><bibliotheque>

<livre> <titre>N ou M</titre> <auteur>Agatha</auteur> <ref>Policier-C-15</ref>

</livre> <livre>

<titre>A</titre> <auteur>Arthur</auteur> <ref>Policier-D-3</ref>

</livre> </bibliotheque>

Page 24: Chap 1 xml

08/10/2009

24

24

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

Page 25: Chap 1 xml

08/10/2009

25

25

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 -->

Page 26: Chap 1 xml

08/10/2009

26

26

Structure d’un document XML (2/2)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">

<bibliotheque><livres>

<livre isbn= « 01ZE" > <titre>XML pour les nuls</titre><auteur>jean fournier</auteur>

</livre></livres></bilbliotheque>

Entête du document

Corps du document

Page 27: Chap 1 xml

08/10/2009

27

27

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

Page 28: Chap 1 xml

08/10/2009

28

28

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.

Page 29: Chap 1 xml

08/10/2009

29

29

Document XML Valide

� Un document est valide s'il : �est bien formé

� fait référence à une DTD ;

�se conforme à la DTD.

Page 30: Chap 1 xml

08/10/2009

30

Exercice

� Écrire le fichier XML correspondant à

30

Page 31: Chap 1 xml

08/10/2009

31

31

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