Vous êtes sur la page 1sur 20

Plan

Introduction XML
Par Yves Bekkers
Mise jour : 4 dcembre 2006

XML - Yves Bekkers - IFSIC

Balisage textuel
Un peu dhistoire
XML - concepts de base
Outils de la galaxie XML
Exemples dapplications
Conclusions
XML - Yves Bekkers - IFSIC

Le balisage une longue histoire


Balisages des manuscrits pour l'imprimerie
Balisages des documents numriques

Balisage textuel

XML - Yves Bekkers - IFSIC

Photocomposition
Unix : troff, Latex
GML - SGML

XML - Yves Bekkers - IFSIC

Des manuscrits pour l'imprimerie


Balisage : processus par lequel un rdacteur
introduisait des marques (balises) dans un
manuscrit pour indiquer limprimeur comment
composer (formater) le manuscrit.
Balise : gnralement, commentaire crit la
main :

Le balisage de texte numriques


avant les rseaux

composer le titre avec la police Hevetica-mdiumItalic corps 12 et avec un interlignage de 14 points,


justifi sur une largeur de 22 picas avec
renfoncement de un demi cadratin gauche et de
zro droite
XML - Yves Bekkers - IFSIC

XML - Yves Bekkers - IFSIC

Photo-composition

Troff
Une commande Unix pour le formatage de texte

le langage Nortext-100 de Norsk Data


<CC 15,5,12>On demande la police numro 5,
en corps 12 et avec une justification de
15 units.
<SS><QL> <CC 20,8>Maintenant. on prend la
police 8 et une justification de 20
units.
<QL> <RS>Et maintenant on repart avec les
valeurs typographiques initiales.<EP>
XML - Yves Bekkers - IFSIC

.\" @(#)troff.1 1.66 95/10/09 SMI;


.TH troff 1 "6 Oct 1992"
.SH NAME
troff \- typeset or format documents
.SH SYNOPSIS
.B troff

XML - Yves Bekkers - IFSIC

Tex & LaTex


Quoi : langage pour dcrire des documents
imprims de qualit
Par qui : Donald Knuth
Quand : 1970-1980
\noindent
Ce texte comporte 3 pages\hfill
\vspace*{1cm}
\section{Analyse syntaxique et les DCG}
La syntaxe BNF offre des oprateurs tels que
``|'' qui signifie un choix parmi
XML - Yves Bekkers - IFSIC

Balisage de documents
numriques pour le WEB
Exemples

XML - Yves Bekkers - IFSIC

10

HTML

Visualiser une carte de visite

(visualis par Mozilla)


Exemple
Yves Bekkers
IFSIC
42 avenue gnral Leclerc
35042 Rennes
Enseigne XML au SEP de Rennes 1

Trois manires de visualiser ce contenu sur le WEB


Sur un cran : HTML
Par impression : PDF
Graphique : SVG
XML - Yves Bekkers - IFSIC

11

XML - Yves Bekkers - IFSIC

12

PDF

Graphe SVG

(visualis par Acrobat)

XML - Yves Bekkers - IFSIC

(visualis par Mozilla + Adobe SVG-Viewer)

13

14

Carte de visite en html

Question-rponse

<html>
<head><title>Carte de visite</title></head>
<body>
<p>Yves Bekkers</p>
<p>IFSIC</p>
<p>42 avenue gnral Leclerc</p>
<p>35042 Rennes</p>
<p>Enseigne <em>XML</em>
au SEP de Rennes 1</p>
</body>
</html>

Question
Quest ce qui relie ces trois exemples ?

Rponse
Documents structurs
Les langages balises

XML - Yves Bekkers - IFSIC

XML - Yves Bekkers - IFSIC

15

XML - Yves Bekkers - IFSIC

16

Utilisation du format HTML

Arbre - HTML

Netscape
ou
IExplorer

XML - Yves Bekkers - IFSIC

17

XML - Yves Bekkers - IFSIC

18

Format imprimable Xsl-FO


<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="first" margin-left="2cm"
margin-right="2cm" margin-bottom="0.5cm" margin-top="0.75cm">
<fo:region-body />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-name="first">
<fo:flow flow-name="xsl-region-body" font-size="16pt">
<fo:block>Yves Bekkers</fo:block>
<fo:block>IFSIC</fo:block>
<fo:block>42 avenue Gnral Leclerc</fo:block>
<fo:block>35042 Rennes</fo:block>
<fo:block>Enseigne <fo:inline font-style="italic">
XML</fo:inline> au SEP de Rennes 1</fo:block>
</fo:flow>
</fo:page-sequence>
XML - Yves Bekkers - IFSIC
19
</fo:root>

Utilisation du format FO

XML - Yves Bekkers - IFSIC

20

Carte de Visite graphique en SVG

Processeur FOP
dApache
pdf

Acrobat

XML - Yves Bekkers - IFSIC

Arbre - format FO

21

<svg xmlns="http://www.w3.org/2000/svg" width="100%"


height="100%">
<defs><path id="MyPath" d="M 100 200
C 200 100 300
0 400 100
C 500 200 600 300 700 200
C 800 100 900 100 900 100"/></defs>
<use xlink:href="#MyPath" fill="none" stroke="red"/>
<text font-family="Verdana" font-size="19" fill="blue">
<textPath xlink:href="#MyPath">
Yves Bekkers, IFSIC, 42 avenue Gnral Leclerc,
35042 Rennes, Enseigne XML au SEP de Rennes 1
</textPath>
</text>
XML - Yves Bekkers - IFSIC
22
</svg>

Utilisation du format SVG

Arbre SVG

Netscape
ou
Iexplorer
+
Adobe viewer

XML - Yves Bekkers - IFSIC

23

XML - Yves Bekkers - IFSIC

24

A propos de ces trois exemples


Quatre outils
Netscape
IExplorer
Processeur FOP dApache
Adobe SVG viewer

Une mme information


trois structures

Le problme :
tre en mesure de diffrencier la forme du fond
au sein dun document
La solution : les langages balise
XML - Yves Bekkers - IFSIC

25

XML - Yves Bekkers - IFSIC

26

Trois langages balises


trois dialectes xml
xhtml

Un peu d'histoire

Xsl-FO

SGML, HTML les deux prcurseurs dXML

svg

XML - Yves Bekkers - IFSIC

27

GML
premire normalisation du balisage
une application ddition de texte,
une application de composition
une base pour linterrogation documentaire.

GML : comment

dinformation et
de mta-information de structure

Par qui : Charles Goldfarb


O : IBM, New York
Pour qui : un consortium davocats
Quand : 1969
XML - Yves Bekkers - IFSIC

28

Des documents contenant un mlange


harmonieux :

Quoi : unifier trois systmes disparates

XML - Yves Bekkers - IFSIC

Documents comprhensibles par les machines


Documents textuels faciles mettre en uvre
ditables laide de nimporte quel diteur de
texte
29

XML - Yves Bekkers - IFSIC

30

Un exemple de dialect GML (1978)

GML : comment (bis)

DCF (Document Composition Facility), un anctre de html


Le premier dialect GML qui Goldfarb va donner une DTD.

Comme les bases de donnes

:h1.Chapter 1: Introduction
:p.GML supported hierarchical containers, such as
:ol.
:li.Ordered lists (like this one),
:li.Unordered lists, and
:li.Definition lists
:eol.
as well as simple structures.
:p.Markup minimization (later generalized and
formalized in SGML),
allowed the end-tags to be omitted for the "h1" and
"p" elements.

On peut rechercher linformation par son


contenu
On peut tiqueter linformation par
identificateur unique

XML - Yves Bekkers - IFSIC

31

32

Naissance dHTML

GML un norme succs


La mise en oeuvre est gnrique, elle
sapplique dautres types de documents

Contexte : 1991, gnralisation des rseaux


Problme : afficher en nimporte quel point
dun rseau de linformation conserve de
manire rpartie sur divers machines du
rseaux
Qui : Tim Berners-Lee, CERN

Exemple : documenter un porte avion pour le


DOD

1986 norme ISO (ISO 8879) pour Standard


GML (SGML)

XML - Yves Bekkers - IFSIC

XML - Yves Bekkers - IFSIC

33

Solution au problme de
publication sur rseau (1)
Contexte : dj 15 ans d'exprience SGML
On conoit un dialecte de SGML pour dcrire
dans un mme document linformation et son
mode de prsentation
La simplicit du langage garantit quon peut
raliser rapidement sur toute machine des
processeurs de prsentation des documents :
naissance des XML
navigateurs
- Yves Bekkers - IFSIC
35

XML - Yves Bekkers - IFSIC

34

Solution au problme de
publication sur rseau (2)
Contexte : SGML ne prend pas en compte la
dimension rseau
Solution : On tend le dialecte SGML par un
systme dadressage universel des documents
travers les rseaux
naissance des liens hypertexte ou URLs
XML - Yves Bekkers - IFSIC

36

Solution au problme de
publication sur rseau (3)

HTML - les avantages

Contexte : De nouveaux types de documents


tels que des images et du son, ont fait leur
apparition.
Solution : On tend les possibilits
daffichage des navigateurs
naissance du multimdia
XML - Yves Bekkers - IFSIC

37

HTML un norme succs mais ...


Succs repris par Le World Wide Web
Consortium (W3C)
structuration limite
cache la structure logique
liens hypertexte trop pauvres
mta-donnes pas assez riches
simple ==> compliqu
plus de 100 balises normalises, foisonnement des
XML - Yves Bekkers - IFSIC
39
balises propritaires

Conclusions du groupe de Travail


Rsultats donns en 1998
Prendre SGML

par des outils


par des normesXML
complmentaires
- Yves Bekkers - IFSIC

40

HTML versus XML


HTML publication hypertexte sur cran
XML gnricit + change de donnes

sa simplicit
l'accessibilit l'information
la gnricit (pas de balise prdfinie)

pas de balises normalises, l'auteur cre ses


propres balises
balisages plus strict pour simplifier le traitement
des documents
la casse des caractres dans les noms d'lments
est significative
Structurer linformation selon sa propre logique

Prendre HTML
liens hypertexte en les gnralisant
notion de document multimdia
La notion de mta-donnes en la gnralisant
XML - Yves Bekkers - IFSIC

Rflexions issues de lexprience


HTML
Le World Wide Web Consortium (W3C)
Crer en 1996 d'un groupe de rflexion sur
SGML et HTML
Ide : recherche dun schma gnral de
langage pour la structuration de l'information
et sa communication sur le WEB
Intrt : mise en commun des efforts

lie l'dition sur cran

Un langage balise issu de SGML


permettant de transporter en mme temps
linformation et la mta-information qui dcrit
sa prsentation
Accs rparti sur le rseau grce aux liens
hypertexte
Extension de la notion daffiche dautres
documents que les textes, introduction du
multimdia
XML - Yves Bekkers - IFSIC
38

41

XML - Yves Bekkers - IFSIC

42

Carte de visite logique


Les dates
1969 naissance de GML --------------------------------

GML

1980 premier draft sur SGML --------------------------

SGML

Charles Goldfarb - IBM

Tim Berners-Lee - CERN

1986 norme ISO pour SGML

HTML

1991 naissance d'HTML et du premier navigateur ---1993 explosion du WEB


1996 constat de limites d'HTML

HTML4

1997 norme HTML 4 par le WWW -----------------1998 publication de "XML, Java et le futur du WEB" ----

XML
XHTML

1999 norme XHTML ------------------------------------XML - Yves Bekkers - IFSIC

43

Arbre logique

<carteDeVisite>
<prnom>Yves</prnom>
<nom>Bekkers</nom>
<organisme>IFSIC</organisme>
<adresse>
<numro>42</numro>
<voie type="avenue">Gnral Leclerc</voie>
<ville codepostal="35042">Rennes</ville>
</adresse>
<note>
Enseigne <cl>XML</cl> au SEP de Rennes 1
</note>
XML - Yves Bekkers - IFSIC
44
</carteDeVisite>

Le prix dun arbre logique (1)


?

Navigateur
XML - Yves Bekkers - IFSIC

45

46

Intrt dun arbre logique

Le prix dun arbre logique (2)


Prog.

XML - Yves Bekkers - IFSIC

Feuille de
style

Processeur
XSLT
html
Navigateur

XML - Yves Bekkers - IFSIC

Xsl-FO

svg

Un mme source, de multiples formatages diffrents


47

XML - Yves Bekkers - IFSIC

48

XHTML

XHTML versus XML


XHTML un dialecte XML ddi la prsentation

XHTML = HTML + XML

<body>
<p><b>Titre</b> : XSLT : Programmer's Reference</p>
<p><b>Auteur</b> : Michael Kay</p>
<p><b>Pages</b> : 392</p>
<p><b>Editeur</b> : Wrox</p>
<p><b>Srie</b> : Programmer to Programmer</p>
</body>

plus qu'un simple changement de syntaxe


production automatique de table des matires
production automatique de multiples versions
combinaison avec d'autres documents
(MathML, SVG, ...)
modularit ( venir)

XML des dialectes qui permettent la recherche par le contenu

diter du xhtml : Amaya


produire du xhtml avec du html : Tidy
XML - Yves Bekkers - IFSIC

49

<livre>
<titre>XSLT : Programmer's Reference</titre>
<auteur>Michael Kay</auteur>
<pages>392</pages>
<editeur>Wrox</editeur>
<serie>Programmer to Programmer</serie>
</livre>
XML - Yves Bekkers - IFSIC

50

Les trois dimensions de XML


XML
eXtensible Markup Language

Publication

LATEX

HTML

SGML

XML
SGBD

Concepts de base

Systme
d'information

URL
Adressage
hypertexte

XML - Yves Bekkers - IFSIC

XML - Yves Bekkers - IFSIC

51

Elment

52

La forme + le fond

Un nom + des attributs ventuels + un contenu

La forme

Balise d'ouverture

<nom attr1="val1" > contenu </nom>

Balise de dbut avec un nom + balise de fin avec le mme nom

<p>

Le fond

Yves Bekkers

Contenu
2 Exemples :

<p>

Balise de fermeture

</p>

<personne>
<prnom>Yves</prnom>

Yves Bekkers
</p>

A limage des SGBD, un document XML contient le texte et


son rfrent

<nom>Bekkers</nom>
</personne>
XML - Yves Bekkers - IFSIC

53

XML - Yves Bekkers - IFSIC

54

Contenu dlment
Quatre

lments contenu vide

types de contenus

Texte
Elments
Contenu mixte

Vide

<p>
Yves Bekkers
</p>
<body>
<p></p> <p></p>
</body>
<p>
enseigne
<em>XML</em>
au SEP de Rennes1
</p>
<br></br>
XML - Yves Bekkers - IFSIC

<br></br>
Raccourci autoris
<br/>

55

XML - Yves Bekkers - IFSIC

Attribut

Construire des arbres

<p>
enseigne
<em>XML</em>
au SEP de Rennes1
</p>

em

Quoi : un nom + une valeur


O : au sein de balise ouvrante dlment
Signification : qualifie llment
Exemple :

<fo:inline font-style="italic">
XML
</fo:inline>

P
enseigne

56

au SEP de Rennes1

XML
XML - Yves Bekkers - IFSIC

57

XML - Yves Bekkers - IFSIC

58

Attribut (bis)
Exemple dlment :
<fo:inline font-style="italic">
XML
</fo:inline>

Documents bien forms

fo:inline

et son arbre :

XML

@font-style
italic

XML - Yves Bekkers - IFSIC

59

XML - Yves Bekkers - IFSIC

60

10

Structure dun document - exemple


Structure dun document XML

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


Prologue
<!-- ceci est une carte de visite -->
<carteDeVisite>
Commentaire
<prnom>Yves</prnom>
<nom>Bekkers</nom>
lment racine
<adresse>
<numro>42</numro>
<voie type="avenue">gnral Leclerc</voie>
<ville codepostal="35042">Rennes</ville>
</adresse>
<note>
Enseigne <cl>XML</cl> au SEP de Rennes 1
</note>
</carteDeVisite>

Un Prologue (ventuellement)
Un lment racine (et un seul)
arbre d'lments et leurs attributs

Des Commentaires
Des instructions de traitement

XML - Yves Bekkers - IFSIC

61

XML - Yves Bekkers - IFSIC

62

Document bien form (bis)

Document bien form

Rgle : Le parenthsage doit tre correct


<a><b></b></a>

Rgle : Un document XML comporte un seul lment


racine

est bien form, quivalent


[
(
)
]

<?xml version="1.0"?>
<livre>XLST Programmer's reference</livre>
<livre>XML et Java</livre>

Est interdit

<a><b></a></b>
Rgle : Toute balise ouvrante doit avoir sa balise
fermante
<br> sans </br> est interdit en XML
XML - Yves Bekkers - IFSIC

est mal form, quivalent


[
(
]
)
63

XML - Yves Bekkers - IFSIC

Syntaxe des noms dlment


(exemples)

Syntaxe des noms dlments


(bis)

nom
prnom
-la-ligne
xsl:value-of
n123
dcompte.client
first_name
XML - Yves Bekkers - IFSIC

64

65

Name

::=(Letter | '_' | ':') (NameChar)*

NameChar

::= Letter | Digit | '.' | '-' |


'_' | ':'

Digit

::= 0 | 1 | | 9

Letter

Toutes les lettres de tous les


alphabets (par exemple les lettres
accentues de l'alphabet latin)
XML - Yves Bekkers - IFSIC

66

11

Syntaxe des noms dlments


(ter)

Notation des valeurs dattributs


Rgle : Les valeurs dattribut doivent tre
encadres par des doubles cotes " ou des
simples cotes

Rgle : Les majuscules et les minuscules sont


diffrencies
(plus stricte quHTML)

mais
<a href=monFichier></a>
est interdit (plus stricte quHTML)

XML - Yves Bekkers - IFSIC

67

Attribut

XML - Yves Bekkers - IFSIC

68

Composants complmentaires
Entits (macro)

Rgle : Un attribut pour un lment donn


ne peut avoir quune seule valeur
Exemple
<a href="val1" href="val2">
...
</a>

dclaration <!ENTITY lp "lambdaProlog">


rfrence &lp;

Commentaires
<!-- ceci est un commentaire -->

Instructions de traitement
<?nom arg1 arg2 ... argn ?>

Sections littrales (chappements)

est interdit

<![CDATA[if i < 2 then i++]]>

XML - Yves Bekkers - IFSIC

69

70

Rsum

Instructions de traitement
Exemples

Un document XML est compos de


lments

Schma d'une instruction de traitement


<?nom arg1 arg2 ... argn ?>

Appel d'un processeur XSLT


<?xml-stylesheet type="text/xsl" href="myXsl.xslt"?>

Rfrence une feuille de stype CSS


<?xml-stylesheet type="text/css" href="myCss.css"?>

XML - Yves Bekkers - IFSIC

XML - Yves Bekkers - IFSIC

71

Texte
Autres lments
Mixte (texte + lments)
Vide

Commentaires
Instructions de traitement
Sections littrales
XML - Yves Bekkers - IFSIC

72

12

Exemple complet
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- ceci est un document XML -->
<?xml-stylesheet type="text/css" href="prog.css"?>
<programme id="p1">
<!- Instruction conditionnelle -->
<instruction>
<test><![CDATA[x < 2]]></test>
<instruction>x = x +1</instruction>
<instruction>
</programme>

Codage

Attention
La premire ligne ne fait pas partie du document, elle est consomme au
moment de la lecture du document par les applications
XML - Yves Bekkers - IFSIC

73

XML - Yves Bekkers - IFSIC

Unicode

Codage

Deux niveaux de codage


codage externe : dpendant des outils de saisie
codage interne : Unicode
Ascii, UTF8, IsoLatin-1, ...

74

Codage sur 16 bits (au dbut) 21 bit actuellement


Ambitieux : toutes les langues de la terre
Unification : liminer les redondances
Spare la dfinition du jeu de caractres (la liste
des caractres, leur nom et leur index) de celle de
l'encodage
on ne peut donc pas parler de la taille d'un caractre
Unicode (dpend de l'encodage choisi )

Unicode

Prs de 100000 caractres

Dtection semi automatique du type de codage


externe
s'aide du premier caractre de la premire ligne : "<"
XML - Yves Bekkers - IFSIC

75

Ascii dans le bas du tableau

>1000 pages de dfinitions ...


XML - Yves Bekkers - IFSIC

76

Partionnement

Composition de caractres
Unicode ne code pas les descriptions des caractres, les
glyphes c'est--dire la reprsentation graphique du
caractre.
ainsi, le caractre franais peut-il tre dcrit de deux
manires :
en utilisant directement le numro correspondant au ,
en faisant suivre le numro du 'e' par celui de l'accent aigu sans
chasse.
Quelle que soit l'option choisie le mme glyphe sera affich.
On dira du premier caractre qu'il est prcompos, du second que
c'est une composition (deux caractres forment un seul glyphe
compos des deux).

De nombreux glyphes peuvent tre cods de ces deux


manires. Le plus souvent, le glyphe prcompos est
prfrable
XML - Yves Bekkers - IFSIC

caractres composites

Convertibilit

77

0000..007F; Latin de base


0080..00FF; Supplment Latin-1
...
0370..03FF; Grec et copte
0400..04FF; Cyrillique
0500..052F; Supplment cyrillique
0530..058F; Armnien
0590..05FF; Hbreu
0600..06FF; Arabe
...
1780..17FF; Khmer
1800..18AF; Mongol
...
10100..1013F; Nombres gens
...
1D000..1D0FF; Symboles musicaux byzantins
1D100..1D1FF; Symboles musicaux occidentaux
XML - Yves Bekkers - IFSIC
...

78

13

Codages externes - exemples


Codage externe

Ascii ou Iso 646 (adopt en 1963)


Codage 7 bits (27 = 128 caractres)

Dpend de loutil utilis pour la saisie du


document et du systme qui le supporte :

Latin 1 (ISO-8859-1)
Codage 8 bits (27 = 256 caractres), les 128
premiers caractres sont ceux dAscii (manque le )

Word sous windows


Emacs sous linux

Latin 9 (ISO-8859-15)
Codage 8 bits (28 = 256 caractres), lgre
modification de Latin 1
apparition de : , , et

XML - Yves Bekkers - IFSIC

79

UTF
Unicode Transformation Format

XML - Yves Bekkers - IFSIC

Exemple - le symbole Euro

Unicode accepte plusieurs formes de prsentation pour


reprsenter un caractre (au sens de symbole).
UTF8 (le plus courant)

Glyphe (il)
Code Unicode
Latin 9
UTF8 (3 octets)

codage sur une squence d'octets (1 4)


nombreuses proprits intressantes pour les logiciels de traitement
ASCII sur un seul caractre
Chaque octet une nature qui facilite la reconnaissance du multi-octet

UTF16 (java, Windows)


codage sur une squence d'octets (2 ou 4)

UTF16

UTF32
Le chiffre aprs UTF reprsente le nombre minimal de bits
avec lequel un caractre est cod.
XML - Yves Bekkers - IFSIC

81

&#238;
&#x2200;

En hexadcimal

&#x0152;
&#xA9;

XML - Yves Bekkers - IFSIC

82

Cinq entits prdfinies

Notation qui permet de dsigner un caractre par


son code unicode

En dcimal

20AC
A4
11100010
10000010
10101100
20AC

Caractres spciaux

Dsigner un caractre par son code

Rfrence

80

Rfrence

Glyphe

Nom

Caractre

&amp;

&

ampersand

&lt;

<
>

plus petit
plus grand

&gt;
&apos;

'

apostrophe

&quot;

"

double quote

Exemple d'utilisation : "le gte et le couvert"


Exemple d'utilisation : "A >5"

<titre>le g&#238;te et le couvert<titre>


XML - Yves Bekkers - IFSIC

<if>A &gt; 5</if>


83

XML - Yves Bekkers - IFSIC

84

14

Gnricit d'XML
XML comme SGML nest pas un langage
cest un cadre pour dfinir des langages

Chaque application dfinit son (ses) dialect(s)


Un dialect = un type de document

Notion de dialects XML

Il existe des grammaires pour dfinir les dialects


DTD, Schma XML,
Contexte

XML - Yves Bekkers - IFSIC

Information

Dfinition de schma

Instance de table

Programmation objet

Dfinition de classe

Instance de classe

XML

DTD, XMLShema

Document XML

85

XML - Yves Bekkers - IFSIC

86

Dclaration de DTD

Exemple de DTD
<!ELEMENT carteDeVisite (prnom, nom, organisme, adresse)>
<!ELEMENT prnom (#PCDATA) >
<!ELEMENT nom
(#PCDATA) >
<!ELEMENT organisme (#PCDATA) >
<!ELEMENT adresse (numro, voie, ville)>
<!ELEMENT numro (#PCDATA) >
<!ELEMENT voie
(#PCDATA) >
<!ATTLIST voie type (rue | avenue | impasse | cours |
square | boulevard | chemin |
quai | route | passage | place |
rondPoint ) 'rue' >
<!ELEMENT ville
(#PCDATA) >
<!ATTLIST ville codepostal CDATA #IMPLIED >
XML - Yves Bekkers - IFSIC

Mta donnes

SGBDR

Dans le prologue du document


Dclaration interne
<!DOCTYPE carteDeVisite [
... dclarations ...
]>

Dclaration externe, la chane est une URL


<!DOCTYPE carteDeVisite SYSTEM "maDTD.dtd">

Dclaration mixte
<!DOCTYPE carteDeVisite SYSTEM "maDTD.dtd" [
... dclarations ...
]>

87

XML - Yves Bekkers - IFSIC

88

Dclaration externe public


Validation de document

Exemple
dclaration pour un document SVG 1.0
<!DOCTYPE svg PUBLIC
"-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG20010904/DTD/svg10.dtd">

DTD

La premire chane est une identification

XML

Le systme cherche une correspondance dans


des tables internes

Analyse
syntaxique
niveau 1

Bien
form

Analyse
syntaxique
niveau 2

Valide
selon une
DTD

La seconde chane est une URL


utiliser en cas de dfaut de la premire
XML - Yves Bekkers - IFSIC

89

XML - Yves Bekkers - IFSIC

90

15

Liens internes
MyPath

Structurer en graphe
Lien

<path id="MyPath" d="M 100 200


C 200 100 300
0 400 100
C 500 200 600 300 700 200
C 800 100 900 100 900 100"/>

<use xlink:href="#MyPath
fill="none" stroke="red"/>
XML - Yves Bekkers - IFSIC

91

XML - Yves Bekkers - IFSIC

92

Modularit des documents


Liens externes
<livre>
<chapitre href="chap1.xml"/>
<chapitre href="chap2.xml"/>
<chapitre href="chap3.xml"/>
</livre>

La galaxie XML

Document compos de plusieurs documents


Hritage dHTML
XML - Yves Bekkers - IFSIC

93

XML - Yves Bekkers - IFSIC

94

Galaxie des normes par catgories


Interrogation
de documents

Formatage
Transformation
de documents
XSL
=
XSLT
+
XSLFO

XML
Query

Dfinition de
documents

RDF

DTD
CSS
Documents
XML

XML Schema

XML
Namespace

XPATH

XLINK

XPointer

Analyseur
DOM

Quelques dtails sur


principaux composants de la
galaxie XML

Analyseur
SAX

Manipulation de documents
par programme

Relations entre documents


XML - Yves Bekkers - IFSIC

95

XML - Yves Bekkers - IFSIC

96

16

Feuille de style CSS


Visualisation de documents

CSS Cascading Style Sheets


Conu pour les langages balise (HTML, XML)
Permet d'associer des proprits de prsentation des balises
Partage : peuvent tre crites dans une page spare.

Exemple : visualiser un carnet d'adresses


Le document carnetDAdresse.xml

<?xml-stylesheet type="text/css" href="fic.css"


charset="ISO-8859-1"?>

Deux possibilits

Exemple de dfinition de proprit

Appliquer une feuille de style CSS au


document XML

prnom,organisme,note {
text-align: left; margin-top: 12.000000pt;
margin-bottom: 6.000000pt;
font-size: 12.000000pt; font-weight: medium;
font-style: Regular; color: #000000;
font-family: "Times New Roman";
}

Appliquer

Transformer le document xml en html l'aide


d'XSLT
Transformer
XML - Yves Bekkers - IFSIC

97

XML - Yves Bekkers - IFSIC

Transformation de document (1)

Transformation XSL
XSL (eXtensible Stylesheet Language)
Le langage Perl dXML
Trois parties

XSL
Feuille de style

Xpath : langage pour adresser les nuds dun


arbre
XSLT : langage de transformation
XSL-FO : langage de formatage
XML - Yves Bekkers - IFSIC

XSL-FO

99

imprimante

HTML
cran

Feuille de style 2

XSL

XML - Yves Bekkers - IFSIC

XML - Yves Bekkers - IFSIC

100

Limites de CSS par rapport


XSLT
CSS ne permet pas de visualiser les attributs
CSS ne permet pas de rarranger
l'information
CSS n'offre pas de vrai moyen de faire des
calculs
La cible ne peut pas tre un autre dialecte
XML (CSS est un outil de prsentation)

XML
Documents

imprimante

XML

XSL
+

XSL-FO

Documents

Transformation de document (2)


Feuille de style 1

98

101

XML - Yves Bekkers - IFSIC

102

17

Quatres moyens dutiliser une feuille


de style XSLT

XML NameSpace
Espaces de noms
Objectif : faire cohabiter au sein dun mme
document des lments appartenant des
dialectes diffrents
Comment : Mise en place dun mcanisme de
prfixes de nom
Dclaration de prfixe au sein dune balise ouvrante
<p xmlns:M='http://www.w3.org/RECMathML'>

Utilisation de prfixe
<M:mfrac>
XML - Yves Bekkers - IFSIC

103

Mta-donnes
Des donnes propos des donnes, pour dcrire
l'information
RDF : Resource Description Framework
Lisible lil, comprhensible par les machines
Norme gnrique : proprits (ou relations) dfinir
pour chaque domaine d'application
Applications : cartes de site, tiquetage, recherche
d'information, bibliothques lectroniques, dition
cooprative, proprit intellectuelle, commerce
lectronique, etc.
XML - Yves Bekkers - IFSIC

105

XML - Yves Bekkers - IFSIC

104

Exemples dapplication
SVG Graphiques structurs, vectoriss
SMIL Synchronisation de documents
multimdia
MathML Manipulation de formules
mathmatiques
XUL Le langage dinterface de Mozilla
exemples.html
XML - Yves Bekkers - IFSIC

106

Editeurs
Conception d'applications

Emacs avec mode sgml


XML spy (trs cher, Windows uniquement)
Eclipse avec le plugin XMLBuddy, Bocaloco Software
Eclipse WTP
Amaya (XML, mathML, SVG, XHTML)

Conclusions

Exploitation :
diteurs graphiques qui masquent le code
Exemples : White all, Xmetal, XML spy

XML - Yves Bekkers - IFSIC

107

XML - Yves Bekkers - IFSIC

108

18

Quest ce quXML

A propos de vocabulaire

XML est une mthode pour conserver des donnes


structures dans des fichiers texte
XML est une technologie (famille de norme, doutils,
espace ouvert pour dfinir des dialectes propritaires)
XML ressemble HML mais ne remplace pas HTML
XML ressemble aux SGBD mais ne remplace pas un
SGBD
XML est un texte (pas toujours fait pour un humain)
XML est bavard (mais cela nest pas un problme)
XML nest pas si nouveau que a
XML - Yves Bekkers - IFSIC

Les mots document et feuille de style sont


hrits de l'dition
GML tait un projet d'dition
HTML est un langage d'dition

Les mots sont trompeurs


XML est un systme d'information plus qu'un
systme d'dition
On peut interroger un document par son
contenu, le transformer

109

XML - Yves Bekkers - IFSIC

Similitude avec les SGBDR

110

SGBD-XML-HTML

Structure

SGBDR
Relation (table)

XML
Arbre

Mta
information

Langage de
dfinition

DTD - XML Schma

Information
Contrainte
d'unicit

Contenu de table
Cl primaire

Instance de document
Attribut ID

Intgrit de
rfrence

Cl trangre

Attribut IDREF

Langage de
manipulation

SQL

SGBD, XML, HTML ne sont pas des technologies


concurrentes
Elles sont complmentaires
Xml en aval
SGBD

des SGBD

XML

Xml en amont
de HTML

HTML

PDF

XSLT

XML - Yves Bekkers - IFSIC

111

Multiples applications d'XML

112

Apport dXML
Gains qualitatifs

diffusion de contenu sur le web

robustesse :

complment HTML, CSS, aux SGBD

force labstraction
un unique niveau dabstraction

change entre applications distribues


EDI, Ebisness,

partage des efforts : mutualisation des outils


technologie ouverte : qui va traverser le temps
simplicit : texte ditable

archivage :
fichiers de configuration
information au faible dynamisme (annuaires)

Gains quantitatifs

gestion de la connaissance
XML - Yves Bekkers - IFSIC

XML - Yves Bekkers - IFSIC

mise en uvre rapide car elle est directe


113

XML - Yves Bekkers - IFSIC

114

19

Quelques rfrences

Livre en franais (concis)

Le site XML du W3C

XML prcis et concis

http://www.w3.org/XML/

Un site francophone XML

OReilly, par Robert Eckstein et Michel


Casabianca

http://www.chez.com/xml/

Un glossaire XML
http://www.xmlstarterkit.com/xmlzone/glossary.htm

Une histoire des langages balise


http://www.gutenberg.eu.org/pub/GUTenberg/publi
cations/cahiers.html#Cahier12

XML - Yves Bekkers - IFSIC

115

XML - Yves Bekkers - IFSIC

116

20

Vous aimerez peut-être aussi