Vous êtes sur la page 1sur 42

Introduction à XML

eXtensible Markup Language

(Langage de balisage extensible )

1
Diapositive de résumé
 XML - définition
 XML et W3C
 Pourquoi XML ?
 HML - caractéristiques
 XML - avantages
 Technologies liées à XML
 Applications XML
 Contenu d'un document XML
 Documents XML bien formés
 La structure générale d'un document XML
 Prologue
 Déclaration XML
 Instructions de traitement
 Déclaration de type de document
 Élément racine
 Références
2
XML et W3C

 eXtensible Markup Language


 Langage de balisage comme HTML
 Sous-ensemble (Version simplifiée) de SGML
(Standard Generalized Markup Language -
Langage normalisé de balisage généralisé)
 Langage auto-descriptif
 Langage lisible pour l’humain et la machine

3
XML et W3C

Recommendation W3C pour :


la description, la publication, l’échange, la transformation,
l’intégration et l’interrogation des données sur le Web.
2 Versions de la norme :
 XML 1.0, Recommandation W3C, Février 1998
 XML 1.0 (Second Edition), 6 Octobre 2000
 XML 1.0 (Fifth Edition), 26 novembre 2008
 XML 1.1 (Second Edition), 29 septembre 2006
Pourquoi XML ?
 Pour toutes les applications Web :
 Commerce électronique : catalogue/achat en-ligne, échanges
commerciaux
 Recherche et publication scientifique: conférences, journaux
électroniques
 Médias : information en directe, archivage
 Veille technologique et entrepôts thématiques ...

Le défi majeur = Trouver le meilleur moyen d'échanger et gérer des


données sur le Web et permettre l'interopérabilité entre systèmes
d'information hétérogènes. 
5
Pourquoi XML ?
 Problèmes :
 HTML n'est pas extensible :
 ne peut pas répondre aux besoins spécifiques de tous

les domaines (mathématiques, chimie, musique,


astronomie...)
 ne définit pas correctement la structure et le contenu

des documents
 SGML est complexe.

→ Solution : XML
6
Pourquoi XML ?

The Extensible Markup Language (XML) is a subset of


SGML... Its goal is to enable generic SGML to be
served, received, and processed on the Web in the way
that is now possible with HTML. XML has been
designed for ease of implementation and for
interoperability with both SGML and HTML.
http://www.w3.org/TR/1998/REC-xml-19980210
http://pages.videotron.com/fyergeau/w3c/xml10/REC-xml-19980210.fr.html

7
Pourquoi XML ?

XML simplifie :
- le partage des données
- le transfère des données
- les échanges entre plateformes
- la disponibilité des données

8
HML - caractéristiques

 Application ou DTD de SGML


Þ Les éléments et attributs autorisés sont définis dans cette
DTD).
 Non-extensible - Restrictif :
Þ L'ajout de nouveaux éléments est impossible
(on ne peut pas créer des balises pour définir pour le
document une structure de type chapitre, index,
bibliographie).
Þ Ne répond pas aux besoins de tous les domaines :
Ne permet de bien décrire que des documents simples
(en-tête, corps, paragraphes, listes, tableaux, images, ...). 9
HML - caractéristiques
 À l'origine, HTML = outil d'échange de données indépendant des plate-
formes et de l'affichage :
 Devait décrire les différentes parties d'un document simple à l'aide
d'éléments prédéfinis : Hn, P, STRONG, CITE, ...
 Les navigateurs devaient se charger de l'affichage final du document.
 Mais, les éditeurs s'intéressant de plus en plus à la forme, HTML a mal
évolué :
 Rajout d’éléments d'affichage pour personnaliser les pages Web (B, I,
FONT, CENTER, TABLE dans la version 3.2, FRAME dans la
version 4.0);
 Détournement de l’utilisation d’autres éléments (comme
BLOCKQUOTE)

10
HML - caractéristiques
 Les documents HTML pas toujours conformes aux règles établies
par la DTD :
 Les attributs sont rarement entre guillemets;
 Les éléments ne sont pas toujours correctement imbriqués...

 Les navigateurs d'affichent tous les documents HTML, même


s'ils ne sont pas valides (bien formés !).

 Version 4.0 de HTML : suppression par le W3C des éléments


relatifs à la forme au profit des feuilles de style CSS.
 Cependant, les mauvaises habitudes ont persisté !
11
XML - avantages
 Format texte
 Léger et portable
 Traitable par toute application

 Indépendance des applications et des machines dans

leur manière de stocker, et partager les données.


 Format structuré :
 Les parties d’un document xml sont facilement
repérables
 Les données sont hiérarchisées

 Format standardisé : par le W3C 13


XML - avantages

 Balisage sémantiquement riche : lisible par les humains.


 Langage extensible et flexible :
 chacun peut définir sa propre structure et ses propres

éléments, attributs,…
 permet de faire cohabiter plusieurs

langages/vocabulaires dans un même document grâce


à la définition de différents espaces de noms.
 Permet l'interopérabilité dans un environnement très

hétérogène
 XML facilite le traitement de l’information
(stockage, partage, repérage…)
Technologies liées à XML
Plusieurs technologies renforcent et facilitent la
manipulation d’un document XML :

 CSS : pour définir une feuille de style qui permet


d'afficher les documents XML
 XSLT : pour transformer et afficher les documents XML
 Xlink : pour ajouter des liens hypertextes à un fichier
XML
 XQuery : pour interroger le contenu des documents
XML
15
Technologies liées à XML
 XPointer : pour pointer sur des parties d'un document
XML
 DOM (Document Object Model) : pour manipuler des
fichiers XML (et HTML) à partir d'un langage de
programmation
 Namespaces (Espaces de nommage) : pour distinguer les
noms utilisés dans les documents XML
 XForm : pour les formulaires

16
Applications XML
XML est un métalangage permettant l'élaboration de langages
spécialisés mieux adaptés au contenu qu'on souhaite publier.
Parmi ces langages (applications ou dialectes) XML, ont trouve :
 XHTML (Extended Markup Language): reformulation de HML en
XML.
 RSS (Really simple syndication) langage de syndication de contenu
( Partage et mise à jour automatique de flux d'information)
 AML (Astronomical Markup Language) : langage décrivant les
différents types de données utilisées en astronomie.
 MathML (Mathematical Markup Language) : notation mathématique
sur le Web.
 CML (Chemical Markup Language) : pour la publication sur Internet
des formules chimiques, des molécules, des équations.
17
Applications XML
 SVG (Scalable Vector Graphics): Ce langage permet d'écrire des
graphiques vectoriels 2D en XML. Le SVG s'est très vite placé
comme un concurrent de Flash et, à ce titre, Adobe l'a intégré dans
la plupart de ses éditeurs (comme Illustrator et Golive).

 SMIL (Synchronized Multimedia Integration Language) : pour la


création multimédia. Il spécifie comment et quand des éléments
multimédia peuvent apparaître dans une page Web. Par exemple, on
peut déterminer que sur une certaine page, le texte apparaît suivi
d'une série d'images qui sont accompagnées d'une musique. Il
permet de contrôler la position des objets dans l'espace et dans le
temps.

 WML (Wireless Markup Language) : le langage de balisage pour


l’Internet mobile.
18
Applications XML
 TEI (Text encoding Initiative): DTD de SGML dont la version lite appartient à
XML. utilisée le plus souvent en sciences humaines pour baliser des oeuvres
littéraires (prose et poèmes). Souvent, dans ces communautés, on scanne des
documents originaux, qu'on convertit en texte en utilisant des techniques de
reconnaissance optique de caractères (OCR), on corrige les erreurs, et on balise le
résultat en TEI. Dans l'idéal, on dispose d'un original du livre ou du manuscrit à côté
de la version digitale en TEI. Avec les deux, un spécialiste peut analyser le texte très
finement et ainsi créer un nouveau savoir.
 EAD (Encoded Archival Description- Description Archivistique Encodée): permet
d’encoder des outils d'aide à la recherche archivistique. Comme TEI, EAD est
profondément enraciné dans SGML.
 DocBook, comme XHTML et TEI, sert à baliser des textes narratifs, mais
DocBook dispose aussi d'un certain nombre d'éléments spécifiques au thème de
l'informatique. Parmi ces éléments, il y a des choses comme les copies d'écran
(screenshot), les programmes (programlisting) et les commandes (command).

Voir plus d’exemples sur http://www.01net.com/article/242457.html


http://formats-ouverts.org/post/2005/09/08/526-une-liste-de-formats-ouverts-xml#main19
Contenu d'un document XML
 Un document XML est composé d'éléments qui représentent
la structure logique du document.
 Ce sont ces éléments qui donnent aux données leur valeur et
leur signification.
 Le document contient à la fois l'information et des méta-
informations (information sur l'information).
 Un élément peut être :
 vide : sans contenu

ou
 non vide : avec contenu

20
Contenu d'un document XML

 Éléments vides : n’ont pas de contenu (aucun texte, aucun


sous-élément).
L'élément IMG de HTML est un élément vide.
En XML, ils s'écrivent avec une / à la fin de la balise
ouvrante ou sous la forme d'une paire de balises vide :
<HR/> ou encore <HR></HR>

 Éléments non vides : commencent par une balise ouvrante,


peuvent contenir du texte et d'autres éléments et se terminent
par une balise fermante.
<auteur>…</auteur>

21
Contenu d'un document XML
 Un document XML ne contient aucune information concernant
l'affichage, c'est la feuille de style utilisée (CSS ou XSL) qui s'en occupe.

 Chaque élément peut avoir un ou plusieurs attributs :


<tel type="mobile">070202020</tel>

 La DTD (Document Type Definition) définit les éléments et les règles


d'utilisation (noms et hiérarchie des éléments, attributs possibles pour un
élément, imbrications).

 Document XML bien formé : document qui suit les règles définies par
XML mais auquel aucune DTD n’est associée.

 Document XML valide : document XML bien formé, auquel est associée
une DTD et qui se conforme aux directives de cette DTD.
22
Documents XML bien formés
Un document XML est bien formé si :
 Il contient :
 un élément racine englobant tous les autres éléments et
leurs attributs
 un ou plusieurs éléments (même vides)
 Tous les éléments sont fermés :
 les éléments non vides ont une balise de début et de fin
 les éléments vides ont une / à la fin de la balise avant le >
 Les éléments non vides sont correctement imbriqués
 Les noms des balises ouvrantes correspondent aux noms des
balises fermantes. La casse est sensible :
→ <para> <PARA>
→ on doit utiliser soit l'une ou l'autre forme 23
Documents XML bien formés
 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 paires de guillemets simples ' et doubles " peuvent être substituées sans
distinction, mais soit l'une ou l'autre
 Les signes < et > sont utilisés pour délimiter les noms d'éléments.
Le & est un caractère de "sortie" d'XML, il sert à délimiter l'affichage de
certains caractères spéciaux appelés entités.
→ Pour les afficher dans un document XML, il faut utiliser la référence
d'entité correspondante : &lt; &gt; &amp;
 Les références d'entités doivent commencer par & et finir par ;
 S'il n'y a pas de DTD, on ne peut utiliser dans un document XML que
les 5 entités réservées : &amp; &lt; &gt; &apos; &quot;
 S'il y a une DTD, toutes les entités non réservées utilisées doivent être24
déclarées dans la DTD.
Documents XML bien formés
 Un document XML peut ne pas avoir de DTD, il définit
ainsi son propre balisage de manière informelle.

 Dans ce cas :
 le document XML doit être bien formé,

=> sinon il ne sera pas affiché par le navigateur.


 on spécifie dans la déclaration XML qu'il est
autonome (Standalone=“yes”):
<?xml version="1.0“ encoding=“iso-8859-1” standalone=“yes”?>

25
Documents XML bien formés
Règles de composition des noms des éléments XML :

 Les noms peuvent contenir des lettres, des chiffres ou d'autres


caractères.
 Les noms ne peuvent pas débuter par un chiffre ou un signe de
ponctuation, à part le trait de soulignement "_"
 Les noms ne peuvent pas contenir des espaces.
→ À éviter :
 certains signes qui peuvent, selon les logiciels, prêter à confusion
(comme: "-", ";", ".", "<", ">"
 Les lettres accentuées comme é, à, ê, ï, ù qui sont à priori permises mais
peuvent être mal interprétées par certains programmes.
 La longueur des noms est libre, mais on conseille de rester
raisonnable.
26
Voici un document XML (nommé biblio.xml) qui consiste en une liste de livres
avec le titre, le nom de l'auteur et la référence de chaque livre.

<?xml version="1.0" encoding="iso-8859-1"?>


<bibliotheque>
<livre>
<titre>Les Fourmis</titre>
<auteur>Werber, Bernard</auteur>
<ref>Fiction-W-8</ref>
</livre>
<livre>
<titre>Les Femmes Savantes</titre>
<auteur>Molière</auteur>
<ref>Policier-M-2</ref>
</livre>
<livre>
<titre>Les aventures d'Arsène Lupin</titre>
< auteur>Maurice Leblanc </auteur>
<ref>Policier-L-3</ref>
</livre>
</bibliotheque> 27
Une feuille de style est-elle obligatoire ?

 Lorsqu'aucune précision n'est donnée quant à


l'affichage (pas de feuille de style), le
navigateur affiche le code source du
document XML.
 Pour notre document (biblio.xml), nous
aurons l'affichage suivant :

28
 Il est possible de modifier l'affichage en appuyant sur les signes – ou +

29
Pour afficher ce document XML avec le titre en vert et la référence en rouge,
nous allons définir une feuille de style CSS dans le fichier biblio.css et l'appeler
dans le document XML biblio1.xml :

<?xml version="1.0" encoding="iso-8859-1"?>


<?xml-stylesheet type="text/css" href="biblio.css"?>
<liste_livres>
<livre>
<titre>Les Fourmis</titre>
<auteur>Werber, Bernard</auteur>
<ref>Fiction-W-8</ref>
</livre>
<livre>
<titre>Les Femmes Savantes</titre>
<auteur>Molière</auteur>
<ref>Policier-M-2</ref>
</livre>
<livre>
<titre>Les aventures d'Arsène Lupin</titre>
<auteur>Maurice Leblanc</auteur>
<ref>Policier-L-3</ref>
</livre> 30
</liste_livres>
Feuille de style “biblio.css”

livre {
display: block;
margin-left: 14px;
margin-bottom: 0.5em;
font-size: 1em
}
titre {
margin-right: 0.8em;
color: green
}
auteur{
margin-right: 0.8em;
Text-decoration: underline
}
ref {
color: darkred; border:thin
solid
}
Affichage sous IE

32
Visualisation du fichier "biblio2.xml" à l’aide
d’une feuille de style XSL
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="biblio.xsl"?>
<liste_livres>
<livre>
<titre>Les Fourmis</titre>
<auteur>Werber, Bernard</auteur>
<ref>Fiction-W-8</ref>
</livre>
<livre>
<titre>Les Femmes Savantes</titre>
<auteur>Molière</auteur>
<ref>Policier-M-2</ref>
</livre>
<livre>
<titre>Les aventures d'Arsène Lupin</titre>
<auteur>Maurice Leblanc</auteur>
<ref>Policier-L-3</ref>
</livre>
</liste_livres> 33
Fichier XSL

34
Affichage sous Internet Explorer

35
La structure générale d'un document XML

Un document XML:
 Débute par un prologue (facultatif et non répétable)
 Contient un et un seul élément racine (obligatoire et non
répétable)
 Peut, par la suite, contenir des commentaires ou des instructions
de traitement (facultatifs et répétables). 36
Le prologue
 Comprend :
 Une déclaration XML (a)
 Des instructions de traitement (b)
 Une déclaration de type de document. (c)
 Tous ces éléments sont facultatifs dans le prologue et font de celui-
ci un composant facultatif d'un document XML.
 Des commentaires peuvent être insérés entre ces composants à
n'importe quel endroit sauf avant la déclaration XML.

a. <?xml version="1.0" encoding="iso-8859-1" standalone="no"?>


b. <?xml-stylesheet type="text/css" href="maFeuille.css"?>
c. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
37
Déclaration XML
 La déclaration XML prend la forme suivante:
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
 La déclaration XML est facultative mais il est fortement conseillé de
l'utiliser.
 Si elle est présente, elle doit précéder tout autre balisage XML.
 Les informations concernant la version, le codage et la complétude sont
facultatives mais, si présentes, elles doivent repecter l'ordre suivant :
 La version est celle de la norme XML utilisée;
 En l'absence d'une déclaration de l'encodage de caractères,
c'est l'encodage par défaut qui sera utilisé, soit UTF-8 ou
UTF-16
 La dernière déclaration standalone indique au processeur
XML si des déclarations sont situées à l'extérieur du
document. Les valeurs admises sont yes ou no.
38
Instructions de traitement
<?nom-du-traitement argument1 argument2 ?>

Les instructions de traitement sont facultatives et peuvent être insérées


n'importe où dans un document XML, sauf avant la déclaration XML.

Elles permettent d’envoyer directement des instructions de traitement


à l’application.

Exemple: <?xml-stylesheet type="text/css" href="maFeuille.css" ?>

Les arguments type="text/css" href="maFeuille.css" sont envoyés à


l’application "xml-stylesheet" pour lui indiquer qu’on veut appliquer
une feuille de style de type css et lui indiquer le chemin vers cette
feuille.
39
Déclaration de type de document

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Le DOCTYPE permet de spécifier la DTD qu’on veut utiliser.


Le DOCTYPE ci-dessus concerne l’utilisation d’une DTD publique,
c’est la DTD XHTML 1.0.

Les définitions de type de document seront étudiées en détail pendant le


prochain cours.

40
Élément racine
 L'élément racine :
 est obligatoire
 ne peut pas être répété dans un document XML
 forme le contenu proprement dit du document.
 peut être vide mais doit être unique (pour qu’on puisse créer un
document xml bien formé).

<?xml version="1.0"?>
<message>Bonjour tout le monde !</message>
et
<?xml version="1.0">
<document></document>

sont des documents XML bien formés. 41


Références
 Bray, Tim et. al. Extensible Markup Language (XML) 1.0 (Third Edition)
W3C Recommendation 04 February 2004.
http://www.w3.org/TR/REC-xml
 Bosak, Jon, Sun Microsystems. XML, Java, and the future of the Web
http://www.ibiblio.org/pub/sun-info/standards/xml/why/xmlapps.htm
 Cover, Robin. The XML Cover Pages - Home Page.
http://xml.coverpages.org
 COVER, Robin. "Introducing the Extensible Markup Language (XML)."
Une vingtaine d'introductions à XML.
http://www.oasis-open.org/cover/xmlIntro.html
 Flynn, Peter. The XML FAQ Frequently-Asked Questions about the
Extensible Markup Language.
http://xml.silmaril.ie/
 O'Reilly & Associates, Inc. O'Reilly & Associates xml.com. XML from the
inside out. http://www.xml.com
Références
 Pillou, Jean-François. Introduction à XML.
http://www.commentcamarche.net/xml/xmlintro.php3?imprim=1
 Project Gutenberg. Projet Gutenberg official home site - index
Free Books On-Line. http://promo.net/pg
 XML.org . "Applying XML and Web Services Standards in
Industry. »
Portail industriel XML. http://www.xml.org
 W3C. Extensible Markup Language (XML) 1.1 W3C
Recommendation 04 February 2004.
http://www.w3.org/TR/2004/RECml11-20040204/
 J.J.SOLARI . ‘Extensible Markup Language (XML) 1.1’ (4 février
2004) en version française. (Document traduit).
http://www.yoyodesign.org/doc/w3c/xml11/
 xmlhack. XML developer news from XMLhack: by and for the XML
community. http://www.xmlhack.com

Vous aimerez peut-être aussi