Vous êtes sur la page 1sur 116

Introduction XML

Par Yves Bekkers


Mise jour : 15 dcembre 2 1!

XML - Yves Bekkers - IFSIC

"#$n
% % % % % % B$#is$&e te'tue# (n )eu d*+istoire XML - conce)ts de b$se ,uti#s de #$ &$#$'ie XML -'em)#es d*$))#ic$tions Conc#usions
XML - Yves Bekkers - IFSIC 2

B$#is$&e te'tue#

XML - Yves Bekkers - IFSIC

Le b$#is$&e une #on&ue +istoire


% B$#is$&es des m$nuscrits )our #/im)rimerie % B$#is$&es des documents numri0ues
1 "+otocom)osition 1 (ni' : tro223 L$te' 1 4ML - S4ML

XML - Yves Bekkers - IFSIC

5es m$nuscrits )our #/im)rimerie


% Balisage : )rocessus )$r #e0ue# un rd$cteur introduis$it des m$r0ues 6b$#ises7 d$ns un m$nuscrit )our indi0uer #*im)rimeur comment com)oser 62orm$ter7 #e m$nuscrit8 % Balise : &nr$#ement3 comment$ire crit #$ m$in :
9 com)oser #e titre $vec #$ )o#ice :evetic$-mdiumIt$#ic cor)s 12 et $vec un inter#i&n$&e de 1. )oints3 ;usti2i sur une #$r&eur de 22 )ic$s $vec ren2oncement de un demi c$dr$tin &$uc+e et de <ro droite =
XML - Yves Bekkers - IFSIC 5

Le b$#is$&e de te'te numri0ues $v$nt #es rse$u'

XML - Yves Bekkers - IFSIC

>

"+oto-com)osition
#e #$n&$&e 9 @orte't-1 = de @orsk 5$t$
<CC 15,5,12>On demande la police numro 5, en corps 12 et avec une justification de 15 units. <SS><QL> <CC 2 ,!>"aintenant. on prend la police ! et une justification de 2 units. <QL> <#S>$t maintenant on repart avec les valeurs t%po&rap'i(ues initiales.<$)>
XML - Yves Bekkers - IFSIC ?

Bro22
(ne comm$nde (ni' )our #e 2orm$t$&e de te'te
.*+ ,-./troff.1 1.00 1521 2 1 S"34 .56 troff 1 +0 Oct 1112+ .S6 78"$ troff *9 t%peset or format documents .S6 S:7O)S3S .; troff

XML - Yves Bekkers - IFSIC

Be' D L$Be'
% Quoi : #$n&$&e )our dcrire des documents im)rims de 0u$#it % Par qui : 5on$#d Enut+ % Quand : 1C? -1CA
*noindent Ce texte comporte 3 pages*'fill *vspace<=1cm> *section=Analyse syntaxique et les DCG> La syntaxe BNF offre des oprateurs tels que `` !! qui signifie un c"oix parmi
XML - Yves Bekkers - IFSIC C

B$#is$&e de documents numri0ues )our #e F-B


-'em)#es

XML - Yves Bekkers - IFSIC

Gisu$#iser une c$rte de visite


% -'em)#e
Yves Bekkers IFSIC .2 $venue &nr$# Lec#erc !5 .2 Hennes -nsei&ne XML $u S-" de Hennes 1

% Brois m$niIres de visu$#iser ce contenu sur #e F-B


1 Sur un cr$n : :BML 1 "$r im)ression : "5F 1 4r$)+i0ue : SG4
XML - Yves Bekkers - IFSIC 11

:BML
6visu$#is )$r Mo<i##$7

XML - Yves Bekkers - IFSIC

12

"5F
6visu$#is )$r Jcrob$t7

XML - Yves Bekkers - IFSIC

1!

4r$)+e SG4
6visu$#is )$r Mo<i##$ K Jdobe SG4-GieLer7

XML - Yves Bekkers - IFSIC

1.

Muestion-r)onse
% Muestion
Quest ce qui relie ces trois exemples ?

% H)onse
Documents structurs Les lan a es !alises

XML - Yves Bekkers - IFSIC

15

C$rte de visite en +tm#


<'tml> <'ead><title>Carte de visite<2title><2'ead> <?od%> <p>#$es Be%%ers<2p> <p>&F'&C<2p> <p>() a$enue gnral Leclerc<2p> <p>3*+() ,ennes<2p> <p>-nseigne <em>./L<2em> au '-0 de ,ennes 1<2p> <2?od%> <2'tml>
XML - Yves Bekkers - IFSIC 1>

Jrbre - :BML

XML - Yves Bekkers - IFSIC

1?

(ti#is$tion du 2orm$t :BML

@etsc$)e ou I-')#orer

XML - Yves Bekkers - IFSIC

1A

Form$t im)rim$b#e Xs#-F,


<fo@root Amlns@foB+'ttp@22CCC.CD.or&211112ESL2Format+> <fo@la%out9master9set> <fo@simple9pa&e9master master9nameB+first+ mar&in9leftB+2cm+ mar&in9ri&'tB+2cm+ mar&in9?ottomB+ .5cm+ mar&in9topB+ .G5cm+> <fo@re&ion9?od% 2> <2fo@simple9pa&e9master> <2fo@la%out9master9set> <fo@pa&e9se(uence master9nameB+first+> <fo@floC floC9nameB+Asl9re&ion9?od%+ font9siHeB+10pt+> <fo@?locI>#$es Be%%ers<2fo@?locI> <fo@?locI>&F'&C<2fo@?locI> <fo@?locI>() a$enue Gnral Leclerc<2fo@?locI> <fo@?locI>3*+() ,ennes<2fo@?locI> <fo@?locI>-nseigne <fo@inline font9st%leB+italic+> ./L<2fo@inline> au '-0 de ,ennes 1<2fo@?locI> <2fo@floC> XML - Yves Bekkers - IFSIC 1C <2fo@pa&e9se(uence> <2fo@root>

Jrbre - 2orm$t F,

XML - Yves Bekkers - IFSIC

(ti#is$tion du 2orm$t F,
"rocesseur F," d*J)$c+e )d2

Jcrob$t

XML - Yves Bekkers - IFSIC

21

C$rte de Gisite &r$)+i0ue en SG4


<sv& AmlnsB+'ttp@22CCC.CD.or&22 2sv&+ Cidt'B+1 J+ 'ei&'tB+1 J+> <defs><pat' idB+"%)at'+ dB+" 1 2 C 2 1 D K 1 C 5 2 0 D G 2 C ! 1 1 1 1 1 +2><2defs> <use AlinI@'refB+."%)at'+ fillB+none+ stroIeB+red+2> <teAt font9famil%B+Lerdana+ font9siHeB+11+ fillB+?lue+> <teAt)at' AlinI@'refB+."%)at'+> #$es Be%%ers2 &F'&C2 () a$enue Gnral Leclerc2 3*+() ,ennes2 -nseigne ./L au '-0 de ,ennes 1 <2teAt)at'> <2teAt> XML - Yves Bekkers - IFSIC 22 <2sv&>

Jrbre SG4

XML - Yves Bekkers - IFSIC

2!

(ti#is$tion du 2orm$t SG4

@etsc$)e ou Ie')#orer K Jdobe vieLer

XML - Yves Bekkers - IFSIC

2.

(ne mNme in2orm$tiontrois structure

XML - Yves Bekkers - IFSIC

25

J )ro)os de ces trois e'em)#es


% Mu$tre outi#s
1 1 1 1 @etsc$)e I-')#orer "rocesseur F," d*J)$c+e Jdobe SG4 vieLer

% Le )rob#Ime :
1 Ntre en mesure de di22rencier #$ "orme du "ond $u sein d*un document % L$ so#ution : #es #$n&$&es b$#ise
XML - Yves Bekkers - IFSIC 2>

Brois #$n&$&es b$#ises


trois di$#ectes 'm#
'+tm# Xs#-F,

sv&

XML - Yves Bekkers - IFSIC

2?

(n )eu d/+istoire

S4ML3 :BML #es deu' )rcurseurs d*XML

XML - Yves Bekkers - IFSIC

2A

4ML )remiIre norm$#is$tion du b$#is$&e


% Quoi : uni2ier trois sOstImes dis)$r$tes
1 une $))#ic$tion d*dition de te'te3 1 une $))#ic$tion de com)osition 1 une b$se )our #*interro&$tion document$ire8

% % % %

Par qui : C+$r#es 4o#d2$rb #$ : IBM3 @eL York Pour qui : un consortium d*$voc$ts Quand : 1C>C
XML - Yves Bekkers - IFSIC 2C

4ML : comment
% 5es documents conten$nt un m#$n&e +$rmonieu' :
1 d*in2orm$tion et 1 de mt$-in2orm$tion de structure

% 5ocuments com)r+ensib#es )$r #es m$c+ines % 5ocuments te'tue#s 2$ci#es mettre en Puvre
1 dit$b#es #*$ide de n*im)orte 0ue# diteur de te'te
XML - Yves Bekkers - IFSIC !

4ML : comment 6bis7


% Comme #es b$ses de donnes
1 ,n )eut rec+erc+er #*in2orm$tion )$r son contenu 1 ,n )eut ti0ueter #*in2orm$tion )$r 9 identi2ic$teur uni0ue =

XML - Yves Bekkers - IFSIC

!1

(n e'em)#e de di$#ect 4ML 61C?A7


5CF 65ocument Com)osition F$ci#itO73 un $ncNtre de +tm#
Le )remier di$#ect 4ML 0ui 4o#d2$rb v$ donner une 5B58
@'1.C'apter 1@ 3ntroduction @p.M"L supported 'ierarc'ical containers, suc' as @ol. @li.Ordered lists -liIe t'is one/, @li.Nnordered lists, and @li.Oefinition lists @eol. as Cell as simple structures. @p."arIup minimiHation -later &eneraliHed and formaliHed in SM"L/, alloCed t'e end9ta&s to ?e omitted for t'e +'1+ and +p+ elements.
XML - Yves Bekkers - IFSIC !2

4ML un norme succIs


% L$ mise en oeuvre est &nri0ue3 e##e s*$))#i0ue d*$utres tO)es de documents
1 -'em)#e : documenter un )orte $vion )our #e 5,5 Q

% 1CA> norme IS, 6IS, AA?C7 )our St$nd$rd 4ML 6S4ML7

XML - Yves Bekkers - IFSIC

!!

@$iss$nce d*:BML
% %ontexte : 1CC13 &nr$#is$tion des rse$u' % Pro!l&me : $22ic+er en n*im)orte 0ue# )oint d*un rse$u de #*in2orm$tion conserve de m$niIre r)$rtie sur divers m$c+ines du rse$u' % Qui : Bim Berners-Lee3 C-H@

XML - Yves Bekkers - IFSIC

!.

So#ution $u )rob#Ime de 9 )ub#ic$tion = sur rse$u 617


% %ontexte : d; 15 $ns d/e')rience S4ML % ,n conRoit un di$#ecte de S4ML )our dcrire d$ns un mNme document #*in2orm$tion et son mode de )rsent$tion % L$ sim)#icit du #$n&$&e &$r$ntit 0u*on )eut r$#iser r$)idement sur toute m$c+ine des )rocesseurs de )rsent$tion des documents : n$iss$nce des 9XML n$vi&$teurs - Yves Bekkers - IFSIC= !5

So#ution $u )rob#Ime de 9 )ub#ic$tion = sur rse$u 627


% %ontexte : S4ML ne )rend )$s en com)te #$ dimension rse$u % 'olution : ,n tend #e di$#ecte S4ML )$r un sOstIme d*$dress$&e universe# des documents tr$vers #es rse$u'
1 n$iss$nce des 9 #iens +O)erte'te = ou 9 (HLs =
XML - Yves Bekkers - IFSIC !>

So#ution $u )rob#Ime de 9 )ub#ic$tion = sur rse$u 6!7


% %ontexte : 5e nouve$u' tO)es de documents te#s 0ue des im$&es et du son3 ont 2$it #eur $))$rition8 % 'olution : ,n tend #es )ossibi#its d*$22ic+$&e des n$vi&$teurs
1 n$iss$nce du 9 mu#timdi$ =
XML - Yves Bekkers - IFSIC !?

:BML - #es $v$nt$&es


% (n #$n&$&e b$#ise issu de S4ML % )ermett$nt de tr$ns)orter en mNme tem)s #*in2orm$tion et #$ mt$-in2orm$tion 0ui dcrit s$ )rsent$tion % JccIs r)$rti sur #e rse$u &rSce $u' #iens +O)erte'te % -'tension de #$ notion d*$22ic+e d*$utres documents 0ue #es te'tes3 introduction du mu#timdi$ XML - Yves Bekkers - IFSIC

!A

:BML un norme succIs m$is 888


% 'uccs repris par Le (orld (ide (e! %onsortium )(*%+ % structur$tion #imite
1 #ie #/dition sur cr$n

% % % %

c$c+e #$ structure #o&i0ue #iens +O)erte'te tro) )$uvres mt$-donnes )$s $sse< ric+es sim)#e TTU com)#i0u
1 )#us de 1 b$#ises norm$#ises3 2oisonnement des XML - Yves Bekkers - IFSIC !C b$#ises )ro)rit$ires

H2#e'ions issues de #*e')rience :BML


% Le (orld (ide (e! %onsortium 6F!C7 Crer en 1CC> d/un &rou)e de r2#e'ion sur S4ML et :BML % ,de : rec+erc+e d*un sc+m$ &nr$# de #$n&$&e )our #$ structur$tion de #/in2orm$tion et s$ communic$tion sur #e F-B % ,ntr-t : mise en commun des e22orts
1 )$r des outi#s 1 )$r des normes com)#ment$ires XML - Yves Bekkers - IFSIC
.

% Hsu#t$ts donns en 1CCA % "rendre S4ML

Conc#usions du &rou)e de Br$v$i#

1 s$ sim)#icit 1 #/$ccessibi#it #/in2orm$tion 1 #$ &nricit 6)$s de b$#ise )rd2inie7

% "rendre :BML
1 #iens +O)erte'te en #es &nr$#is$nt 1 notion de document mu#timdi$ 1 L$ notion de mt$-donnes en #$ &nr$#is$nt
XML - Yves Bekkers - IFSIC .1

:BML versus XML


% :BML )ub#ic$tion +O)erte'te sur cr$n % XML &nricit K c+$n&e de donnes
1 )$s de b$#ises norm$#ises3 #/$uteur cre ses )ro)res b$#ises 1 b$#is$&es )#us strict )our sim)#i2ier #e tr$itement des documents 1 #$ c$sse des c$r$ctIres d$ns #es noms d/#ments est si&ni2ic$tive 1 Structurer #*in2orm$tion se#on s$ )ro)re #o&i0ue
XML - Yves Bekkers - IFSIC .2

Les d$tes
1C>C n$iss$nce de 4ML -------------------------------1CA )remier dr$2t sur S4ML -------------------------1CA> norme IS, )our S4ML 1CC1 n$iss$nce d/:BML et du )remier n$vi&$teur ---1CC! e')#osion du F-B 1CC> const$t de #imites d/:BML 1CC? norme :BML . )$r #e FFF -----------------1CCA )ub#ic$tion de V.ML/ 0ava et le "utur du (1BV ---1CCC norme X:BML ------------------------------------XML - Yves Bekkers - IFSIC

4ML S4ML

C+$r#es 4o#d2$rb - ,BM

Bim Berners-Lee - %123 :BML

:BML. XML X:BML


.!

C$rte de visite #o&i0ue


<carteOeLisite> <prnom>#$es<2prnom> <nom>Be%%ers<2nom> <or&anisme>&F'&C<2or&anisme> <adresse> <numro>()<2numro> <voie t%peB+a$enue+>Gnral Leclerc<2voie> <ville codepostalB+3*+()+>,ennes<2ville> <2adresse> <note> -nseigne <cl>./L<2cl> au '-0 de ,ennes 1 <2note> XML - Yves Bekkers - IFSIC .. <2carteOeLisite>

Jrbre #o&i0ue

XML - Yves Bekkers - IFSIC

.5

Le )ri' d*un $rbre #o&i0ue 617


W

@$vi&$teur
XML - Yves Bekkers - IFSIC .>

Le )ri' d*un $rbre #o&i0ue 627


"ro&8 Feui##e de stO#e

"rocesseur XSLB

XML - Yves Bekkers - IFSIC

@$vi&$teur

.?

IntrNt d*un $rbre #o&i0ue

+tm#

Xs#-F,

sv&

(n mNme source3 de mu#ti)#es 2orm$t$&es di22rents


XML - Yves Bekkers - IFSIC .A

X:BML
% X:BML T :BML K XML
1 1 1 1 )#us 0u/un sim)#e c+$n&ement de sOnt$'e )roduction $utom$ti0ue de t$b#e des m$tiIres )roduction $utom$ti0ue de mu#ti)#es versions combin$ison $vec d/$utres documents 6M$t+ML3 SG43 8887 1 modu#$rit 6 venir7

% diter du '+tm# : Jm$O$ % )roduire du '+tm# $vec du +tm# : BidO


XML - Yves Bekkers - IFSIC .C

X:BML versus XML


% X:BML un di$#ecte XML ddi #$ )rsent$tion
<?od%> <p><?>3itre<2?> 4 .'L3 4 0rogrammer!s ,eference<2p> <p><?>Auteur<2?> 4 /ic"ael 5ay<2p> <p><?>0ages<2?> 4 36)<2p> <p><?>-diteur<2?> 4 7rox<2p> <p><?>'rie<2?> 4 0rogrammer to 0rogrammer<2p> <2?od%>

% XML des di$#ectes 0ui )ermettent #$ rec+erc+e )$r #e contenu


<livre> <titre>.'L3 4 0rogrammer!s ,eference<2titre> <auteur>/ic"ael 5ay<2auteur> <pa&es>36)<2pa&es> <editeur>7rox<2editeur> <serie>0rogrammer to 0rogrammer<2serie> <2livre>
XML - Yves Bekkers - IFSIC

Les trois dimensions de XML


"ub#ic$tion

LJB-X :BML XML

S4ML

S4B5
SOstIme d/in2orm$tion

(HL
Jdress$&e +O)erte'te

XML - Yves Bekkers - IFSIC

51

XML
e.tensi!le Markup Lan ua e

Conce)ts de b$se

XML - Yves Bekkers - IFSIC

52

-#ment
(n 9 nom = K des 9 attri!uts = ventue#s K un 9 contenu = P <nom attr1B+val1+ P> contenu <2nom> P B$#ise de dbut $vec un nom K b$#ise de 2in $vec #e mNme nom 2 Exemples :
<p> #$es Be%%ers <2p> <personne> <prnom>#$es<2prnom> <nom>Be%%ers<2nom> <2personne>
XML - Yves Bekkers - IFSIC 5!

L$ 2orme K #e 2ond
L$ 2orme

B$#ise d/ouverture Contenu B$#ise de 2ermeture

<p> <2p>

Le 2ond

:ves ;eIIers

J #*im$&e des S4B53 un document XML contient #e te'te et son r2rent


XML - Yves Bekkers - IFSIC 5.

Contenu d*#ment
% Mu$tre

tO)es de contenus
<p> :ves ;eIIers <2p> <?od%> <p>P<2p> P <p>P<2p> <2?od%> <p> ensei&ne <em>E"L<2em> au S$) de #ennes1 <2p> <?r><2?r>
XML - Yves Bekkers - IFSIC 55

Be'te -#ments Contenu mi'te

Gide

X#ments contenu vide


<?r><2?r> H$ccourci $utoris <?r2>

XML - Yves Bekkers - IFSIC

5>

Construire des $rbres


<p> ensei&ne <em>E"L<2em> au S$) de #ennes1 <2p>
) ensei&ne em E"L
XML - Yves Bekkers - IFSIC 5?

au S$) de #ennes1

Jttribut
% % % % Quoi 4 un nom K une v$#eur #$ 4 $u sein de b$#ise ouvr$nte d*#ment 'i ni"ication 4 0u$#i2ie #*#ment 1xemple 4

<fo@inline font9st%leB+italic+> E"L <2fo@inline>


XML - Yves Bekkers - IFSIC 5A

Jttribut 6bis7
% 1xemple dlment 4 <fo@inline font9st%leB+italic+> E"L <2fo@inline>
fo@inline

et son ar!re 4

E"L

,font9st%le italic

XML - Yves Bekkers - IFSIC

5C

5ocuments bien 2orms

XML - Yves Bekkers - IFSIC

>

Structure d*un document XML


% (n "ro#o&ue 6ventue##ement7 % (n #ment r$cine 6et un seu#7
1 $rbre d/#ments et #eurs $ttributs

% 5es Comment$ires % 5es instructions de tr$itement

XML - Yves Bekkers - IFSIC

>1

Structure d*un document - e'em)#e


YW'm# versionTV18 V encodin&TVIS,-AA5C-1VWU Prolo ue YZ-- ceci est une c$rte de visite --U Yc$rte5eGisiteU %ommentaire Y)rnomUYvesY[)rnomU YnomUBekkersY[nomU 5lment racine Y$dresseU YnumroU.2Y[numroU Yvoie tO)eTV$venueVU&nr$# Lec#ercY[voieU Yvi##e code)ost$#TV!5 .2VUHennesY[vi##eU Y[$dresseU YnoteU -nsei&ne Yc#UXMLY[c#U $u S-" de Hennes 1 Y[noteU Y[c$rte5eGisiteU
XML - Yves Bekkers - IFSIC >2

5ocument bien 2orm


HI&#e : 6n document .ML comporte un seul lment racine
<QAml versionB+1. +Q> <livre>ELS5 )ro&rammerRs reference<2livre> <livre>E"L et Sava<2livre>

-st interdit HI&#e : 7oute !alise ouvrante doit avoir sa !alise "ermante <?r> s$ns <2?r> est interdit en XML
XML - Yves Bekkers - IFSIC >!

5ocument bien 2orm 6bis7


HI&#e : Le parent8&sa e doit -tre correct <a><?><2?><2a> est bien 2orm3 0uiv$#ent T / U <a><?><2a><2?> est m$# 2orm3 0uiv$#ent T U /
XML - Yves Bekkers - IFSIC >.

SOnt$'e des noms d*#ment 6e'em)#es7


1 1 1 1 1 1 1 nom )rnom -#$-#i&ne 's#:v$#ue-o2 n12! dcom)te8c#ient 2irst\n$me
XML - Yves Bekkers - IFSIC >5

SOnt$'e des noms d*#ments 6bis7


7ame 7ameC'ar Oi&it Letter @@B-Letter V RWR V R@R/ -7ameC'ar/< @@B Letter V Oi&it V R.R V R9R V RWR V R@R @@B V 1 V P V 1

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

SOnt$'e des noms d*#ments 6ter7


HI&#e : Les majuscules et les minuscules sont di""rencies 6)#us stricte 0u*:BML7

XML - Yves Bekkers - IFSIC

>?

@ot$tion des v$#eurs d*$ttributs


% HI&#e : Les valeurs dattri!ut doivent -tre encadres par des dou!les cotes " ou des simples cotes % m$is <a 'refBmonFic'ier><2a> % est interdit 6)#us stricte 0u*:BML7

XML - Yves Bekkers - IFSIC

>A

Jttribut
% HI&#e : 6n attri!ut pour un lment donn ne peut avoir quune seule valeur % 1xemple <a 'refB+val1+ 'refB+val2+> ... <2a> % est interdit 9
XML - Yves Bekkers - IFSIC >C

Com)os$nts com)#ment$ires
% -ntits 6m$cro7
1 dc#$r$tion 89-N3&3# lp +lam?da)rolo&+: 1 r2rence ;lp<

% Comment$ires
89== ceci est un commentaire ==:

% Instructions de tr$itement
8>nom ar&1 ar&2 ... ar&n >:

% Sections #ittr$#es 6c+$))ements7


89?CDA3A?if i < 2 t'en iXX@@:

XML - Yves Bekkers - IFSIC

Instructions de tr$itement -'em)#es


% Sc+m$ d/une instruction de tr$itement
8>nom ar&1 ar&2 ... ar&n >:

% J))e# d/un )rocesseur XSLB


8>xml=styles"eet t%peB+teAt2Asl+ 'refB+m%Esl.Aslt+>:

% H2rence une 2eui##e de stO)e CSS


8>xml=styles"eet t%peB+teAt2css+ 'refB+m%Css.css+>:

XML - Yves Bekkers - IFSIC

?1

Hsum
% (n document XML est com)os de
1 X#ments
% % % % Be'te Jutres #ments Mi'te 6te'te K #ments7 Gide

1 Comment$ires 1 Instructions de tr$itement 1 Sections #ittr$#es


XML - Yves Bekkers - IFSIC ?2

-'em)#e com)#et
8>xml versionB+1. + encodin&B+3SO9!!5191+>: 89== ceci est un document E"L ==: 8>xml=styles"eet t%peB+teAt2css+ 'refB+pro&.css+>: <pro&ramme idB+p1+> 89A= 3nstruction conditionnelle ==: <instruction> <test>89?CDA3A?A < 2@@:<2test> <instruction>A B A X1<2instruction> <instruction> <2pro&ramme>

% Jttention
L$ )remiIre #i&ne ne 2$it )$s )$rtie du document3 e##e est consomme $u moment de #$ #ecture du document )$r #es $))#ic$tions
XML - Yves Bekkers - IFSIC ?!

Cod$&e

XML - Yves Bekkers - IFSIC

?.

Cod$&e
% 5eu' nive$u' de cod$&e
1 cod$&e e'terne : d)end$nt des outi#s de s$isie 1 cod$&e interne : (nicode
Jscii3 (BFA3 IsoL$tin-13 888 (nicode

% 5tection semi $utom$ti0ue du tO)e de cod$&e e'terne


1 s/$ide du )remier c$r$ctIre de #$ )remiIre #i&ne : VYV
XML - Yves Bekkers - IFSIC ?5

(nicode
% % % % Cod$&e sur 1> bits 6$u dbut7 21 bit $ctue##ement Jmbitieu' : toutes #es #$n&ues de #$ terre (ni2ic$tion : #iminer #es redond$nces S)$re #$ d2inition du ;eu de c$r$ctIres 6#$ #iste des c$r$ctIres3 #eur nom et #eur inde'7 de ce##e de #/encod$&e
1 on ne )eut donc )$s )$r#er de #$ t$i##e d/un c$r$ctIre (nicode 6d)end de #/encod$&e c+oisi 7

% "rs de 1 % Convertibi#it

c$r$ctIres

1 c$r$ctIres com)osites 1 Jscii d$ns #e b$s du t$b#e$u

% U1

)$&es de d2initions 888


XML - Yves Bekkers - IFSIC ?>

Com)osition de c$r$ctIres
% (nicode ne code )$s #es descri)tions des c$r$ctIres3 #es l:p8es c/est--dire #$ re)rsent$tion &r$)+i0ue du c$r$ctIre8 % $insi3 #e c$r$ctIre 2r$nR$is )eut-i# Ntre dcrit de deu' m$niIres :
1 en uti#is$nt directement #e numro corres)ond$nt $u 3 1 en 2$is$nt suivre #e numro du /e/ )$r ce#ui de #/$ccent $i&u s$ns c+$sse8 1 Mue##e 0ue soit #/o)tion c+oisie #e mNme &#O)+e ser$ $22ic+8 1 ,n dir$ du )remier c$r$ctIre 0u/i# est )rcom)os3 du second 0ue c/est une com)osition 6deu' c$r$ctIres 2orment un seu# &#O)+e com)os des deu'78

% 5e nombreu' &#O)+es )euvent Ntre cods de ces deu' m$niIres8 Le )#us souvent3 #e &#O)+e )rcom)os est )r2r$b#e
XML - Yves Bekkers - IFSIC ??

"$rtionnement
88 A 88 ?F] L$tin de b$se FF] Su))#ment L$tin-1 888 !? 88 !FF] 4rec et co)te . 88 .FF] COri##i0ue 5 88 52F] Su))#ment cOri##i0ue 5! 88 5AF] Jrmnien 5C 88 5FF] :breu > 88 >FF] Jr$be 888 1?A 881?FF] E+mer 1A 881AJF] Mon&o# 888 1 1 881 1!F] @ombres &ens 888 15 8815 FF] SOmbo#es music$u' bO<$ntins 151 88151FF] SOmbo#es music$u' occident$u' XML - Yves Bekkers - IFSIC 888

?A

Cod$&e e'terne
% 5)end de #*outi# uti#is )our #$ s$isie du document et du sOstIme 0ui #e su))orte :
1 Ford sous LindoLs 1 -m$cs sous #inu' 1Q

XML - Yves Bekkers - IFSIC

?C

Cod$&es e'ternes - e'em)#es


% Jscii ou Iso >.> 6$do)t en 1C>!7
1 Cod$&e ? bits 62? T 12A c$r$ctIres7

% L$tin 1 6IS,-AA5C-17
1 Cod$&e A bits 62A T 25> c$r$ctIres73 #es 12A )remiers c$r$ctIres sont ceu' d*Jscii 6m$n0ue #e P7

% L$tin C 6IS,-AA5C-157
1 Cod$&e A bits 62A T 25> c$r$ctIres73 #&Ire modi2ic$tion de L$tin 1 1 $))$rition de : P3 ^3 et _
XML - Yves Bekkers - IFSIC A

(BF (nicode Br$ns2orm$tion Form$t


% (nicode $cce)te )#usieurs 2ormes de )rsent$tion )our re)rsenter un c$r$ctIre 6$u sens de s:m!ole78 % (BFA 6#e )#us cour$nt7
1 cod$&e sur une s0uence d/octets 61 .7 1 nombreuses )ro)rits intress$ntes )our #es #o&icie#s de tr$itement
% JSCII sur un seu# c$r$ctIre % C+$0ue octet une n$ture 0ui 2$ci#ite #$ reconn$iss$nce du mu#tioctet

% (BF1> 6;$v$3 FindoLs7


1 cod$&e sur une s0uence d/octets 62 ou .7

% (BF!2 % Le c+i22re $)rIs (BF re)rsente #e nombre minim$# de bits $vec #e0ue# un c$r$ctIre cod8 XMLest - Yves Bekkers - IFSIC

A1

-'em)#e - #e sOmbo#e -uro


4#O)+e 6Pi#7 Code (nicode L$tin C (BFA 6! octets7

(BF1>

_ 2 JC J. 111 1 1 1 1 1 11 2 JC

XML - Yves Bekkers - IFSIC

A2

5si&ner un c$r$ctIre )$r son code


% @ot$tion 0ui )ermet de dsi&ner un c$r$ctIre )$r son code unicode
Rfrence 1n dcimal 1n 8exadcimal
Y.2D!4 Y.A22 4 Y.A 1524 Y.A814

Caractre ` ^ a

% -'em)#e d/uti#is$tion : V#e &`te et #e couvertV


<titre>le &Y.2D!4te et le couvert<titre>
XML - Yves Bekkers - IFSIC A!

C$r$ctIres s)ci$u'
% Cin0 entits )rd2inies
Rfrence
Yamp4 Ylt4 Y&t4 Yapos4 Y(uot4

Glyphe D Y U / V

Nom $m)ers$nd )#us )etit )#us &r$nd $)ostro)+e doub#e 0uote

% -'em)#e d/uti#is$tion : V; <=>


<if>8 Y&t4 5<2if>
XML - Yves Bekkers - IFSIC A.

@otion de di$#ects XML

XML - Yves Bekkers - IFSIC

A5

4nricit d/XML
% XML comme S4ML n*est )$s un #$n&$&e
1 c*est un c$dre )our d2inir des #$n&$&es

% C+$0ue $))#ic$tion d2init son 6ses7 di$#ect6s7


1 (n di$#ect T un tO)e de document

% I# e'iste des &r$mm$ires )our d2inir #es di$#ects


1 5B53 Sc+m$ XML3 Q
Contexte S4B5H "ro&r$mm$tion ob;et XML Mta donnes 52inition de sc+m$ 52inition de c#$sse 5B53 XMLS+em$
XML - Yves Bekkers - IFSIC

Information Inst$nce de t$b#e Inst$nce de c#$sse 5ocument XML


A>

-'em)#e de 5B5
YZ-L-M-@B c$rte5eGisite 6)rnom3 nom3 or&$nisme3 $dresse7U YZ-L-M-@B )rnom 6b"C5JBJ7 U YZ-L-M-@B nom 6b"C5JBJ7 U YZ-L-M-@B or&$nisme 6b"C5JBJ7 U YZ-L-M-@B $dresse 6numro3 voie3 vi##e7U YZ-L-M-@B numro 6b"C5JBJ7 U YZ-L-M-@B voie 6b"C5JBJ7 U YZJBBLISB voie tO)e 6rue c $venue c im)$sse c cours c s0u$re c bou#ev$rd c c+emin c 0u$i c route c )$ss$&e c )#$ce c rond"oint 7 /rue/ U YZ-L-M-@B vi##e 6b"C5JBJ7 U YZJBBLISB vi##e code)ost$# C5JBJ bIM"LI-5 U
XML - Yves Bekkers - IFSIC A?

5c#$r$tion de 5B5
% 5$ns #e )ro#o&ue du document % 5c#$r$tion interne
<ZOOC5:)$ carteOeLisite T ... dclarations ... U>

% 5c#$r$tion e'terne3 #$ c+$`ne est une (HL


<ZOOC5:)$ carteOeLisite S:S5$" +maO5O.dtd+>

% 5c#$r$tion mi'te
<ZOOC5:)$ carteOeLisite S:S5$" +maO5O.dtd+ T ... dclarations ... U>
XML - Yves Bekkers - IFSIC AA

5c#$r$tion e'terne )ub#ic


% -'em)#e
1 dc#$r$tion )our un document SG4 18
<ZOOC5:)$ sv& )N;L3C +922[DC22O5O SLM 1. 22$7+ +'ttp@22CCC.CD.or&25#22 12#$C9SLM9 2 1 1 K2O5O2sv&1 .dtd+>

% L$ )remiIre c+$`ne est une identi2ic$tion


1 Le sOstIme c+erc+e une corres)ond$nce d$ns des t$b#es internes

% L$ seconde c+$`ne est une (HL


1 uti#iser en c$s de d2$ut de #$ )remiIre
XML - Yves Bekkers - IFSIC AC

G$#id$tion de document
5B5

XML

Jn$#Ose sOnt$'i0ue nive$u 1

Bien "orm

Jn$#Ose sOnt$'i0ue nive$u 2

?alide selon une D7D

XML - Yves Bekkers - IFSIC

Structurer en &r$)+e

XML - Yves Bekkers - IFSIC

C1

Liens internes
/y0at"

Lien

<pat' idB+/y0at"+ dB+" 1 2 C 2 1 D K 1 C 5 2 0 D G 2 C ! 1 1 1 1 1 +2> P <use AlinI@'refB+B/y0at" \ fillB+none+ stroIeB+red+2>


XML - Yves Bekkers - IFSIC C2

Modu#$rit des documents Liens e'ternes


<livre> <c'apitre 'refB+c'ap1.Aml+2> <c'apitre 'refB+c'ap2.Aml+2> <c'apitre 'refB+c'apD.Aml+2> <2livre>

% 5ocument com)os de )#usieurs documents % :rit$&e d*:BML


XML - Yves Bekkers - IFSIC C!

L$ &$#$'ie XML

XML - Yves Bekkers - IFSIC

C.

4$#$'ie des normes )$r c$t&ories


!ormatage "ransformation de doc ments
XSL T XSLB K XSLF, CSS 5ocuments XML XML Sc+em$ XML @$mes)$ce

Interrogation de doc ments


XML MuerO H5F

Dfinition de doc ments


5B5

X"JB:

XLI@E

X"ointer

Jn$#Oseur 5,M

Jn$#Oseur SJX

Relations entre doc ments


XML - Yves Bekkers - IFSIC

Manip lation de doc ments par programme


C5

Mue#0ues dt$i#s sur )rinci)$u' com)os$nts de #$ &$#$'ie XML

XML - Yves Bekkers - IFSIC

C>

Gisu$#is$tion de documents
% -'em)#e : visu$#iser un c$rnet d/$dresses
1 Le document carnetO8dresse.Aml

% 5eu' )ossibi#its
1 J))#i0uer une 2eui##e de stO#e CSS $u document XML
J))#i0uer

1 Br$ns2ormer #e document 'm# en +tm# #/$ide d/XSLB


Br$ns2ormer
XML - Yves Bekkers - IFSIC C?

Feui##e de stO#e CSS


% CSS %ascadin 't:le '8eets
1 ConRu )our #es #$n&$&es b$#ise 6:BML3 XML7 1 "ermet d/$ssocier des proprits de prsentation des b$#ises 1 "$rt$&e : )euvent Ntre crites d$ns une )$&e s)$re8
<QAml9st%les'eet t%peB+teAt2css+ 'refB+fic.css+ c'arsetB+3SO9!!5191+Q>

% -'em)#e de d2inition de )ro)rit


prnom,or&anisme,note = teAt9ali&n@ left4 mar&in9top@ 12. pt4 mar&in9?ottom@ 0. pt4 font9siHe@ 12. pt4 font9Cei&'t@ medium4 font9st%le@ #e&ular4 color@ . 4 font9famil%@ +5imes 7eC #oman+4 >
XML - Yves Bekkers - IFSIC CA

Br$ns2orm$tion XSL
% XSL 6eXtensi!le St:les8eet Lan ua e7 % Le #$n&$&e 9 Perl = d*XML % Brois )$rties
1 X)$t+ : #$n&$&e )our $dresser #es nPuds d*un $rbre 1 XSLB : #$n&$&e de tr$ns2orm$tion 1 XSL-F, : #$n&$&e de 2orm$t$&e
XML - Yves Bekkers - IFSIC CC

Br$ns2orm$tion de document 617


XSL
@euille de st:le

K
XML Documents

XSL-F,

im)rim$nte

XML - Yves Bekkers - IFSIC

Br$ns2orm$tion de document 627


XSL
@euille de st:le A

K
XML Documents @euille de st:le B

XSL-F,

im)rim$nte

K XSL

:BML

cr$n

XML - Yves Bekkers - IFSIC

1 1

Limites de CSS )$r r$))ort XSLB


% CSS ne )ermet )$s de visu$#iser #es $ttributs % CSS ne )ermet )$s de r$rr$n&er #/in2orm$tion % CSS n/o22re )$s de vr$i moOen de 2$ire des c$#cu#s % L$ cib#e ne )eut )$s Ntre un $utre di$#ecte XML 6CSS est un outi# de )rsent$tion7
XML - Yves Bekkers - IFSIC 1 2

Mu$tres moOens d*uti#iser une 2eui##e de stO#e XSLB

XML - Yves Bekkers - IFSIC

1 !

XML @$meS)$ce 9 1spaces de noms =


% #!jecti" : 2$ire co+$biter $u sein d*un mNme document des #ments $))$rten$nt des di$#ectes di22rents % %omment : Mise en )#$ce d*un mc$nisme de )r2i'es de nom
1 5c#$r$tion de )r2i'e $u sein d*une b$#ise ouvr$nte
] <p Amlns@"BR'ttp@22CCC.CD.or&2#$C9 "at'"LR>

1 (ti#is$tion de )r2i'e
] <"@mfrac>
XML - Yves Bekkers - IFSIC 1 .

Mt$-donnes
% 5es donnes )ro)os des donnes3 )our dcrire #/in2orm$tion % H5F : 2esource Description @rameCork % Lisib#e #*Pi#3 com)r+ensib#e )$r #es m$c+ines % 3orme nrique : )ro)rits 6ou re#$tions7 d2inir )our c+$0ue dom$ine d/$))#ic$tion % ;pplications : c$rtes de site3 ti0uet$&e3 rec+erc+e d/in2orm$tion3 bib#iot+I0ues #ectroni0ues3 dition coo)r$tive3 )ro)rit inte##ectue##e3 commerce #ectroni0ue3 etc8
XML - Yves Bekkers - IFSIC 1 5

-'em)#es d*$))#ic$tion
% SG4 4r$)+i0ues structurs3 vectoriss % SMIL SOnc+ronis$tion de documents mu#timdi$ % M$t+ML M$ni)u#$tion de 2ormu#es m$t+m$ti0ues % X(L Le #$n&$&e d*inter2$ce de Mo<i##$ e'em)#es8+tm#
XML - Yves Bekkers - IFSIC 1 >

-diteurs
% Conce)tion d/$))#ic$tions
1 1 1 1 1 -m$cs $vec mode s&m# XML s)O 6trIs c+er3 FindoLs uni0uement7 -c#i)se $vec #e )#u&in XMLBuddO3 Boc$#oco So2tL$re -c#i)se FB" Jm$O$ 6XML3 m$t+ML3 SG43 X:BML7

% -')#oit$tion :
1 diteurs &r$)+i0ues 0ui m$s0uent #e code 1 -'em)#es : F+ite $##3 Xmet$#3 XML s)O
XML - Yves Bekkers - IFSIC 1 ?

Conc#usions

XML - Yves Bekkers - IFSIC

1 A

Mu*est ce 0u*XML
% XML est une mt+ode )our conserver des donnes structures d$ns des 2ic+iers te'te % XML est une tec+no#o&ie 62$mi##e de norme3 d*outi#s3 es)$ce ouvert )our d2inir des di$#ectes )ro)rit$ires7 % XML ressemb#e :ML m$is ne rem)#$ce )$s :BML % XML ressemb#e $u' S4B5 m$is ne rem)#$ce )$s un S4B5 % XML est un te'te 6)$s tou;ours 2$it )our un +um$in7 % XML est b$v$rd 6m$is ce#$ n*est )$s un )rob#Ime7 % XML n*est )$s si nouve$u 0ue R$
XML - Yves Bekkers - IFSIC 1 C

J )ro)os de voc$bu#$ire
% Les mots document et "euille de st:le sont +rits de #/dition
1 4ML t$it un )ro;et d/dition 1 :BML est un #$n&$&e d/dition

% Les mots sont trom)eurs


1 XML est un sOstIme d/in2orm$tion )#us 0u/un sOstIme d/dition 1 ,n )eut interro&er un document )$r son contenu3 #e tr$ns2ormer
XML - Yves Bekkers - IFSIC 11

Simi#itude $vec #es S4B5H


#tr ct re Mta information Information Contrainte d& nicit Intgrit de rfrence %angage de manip lation #GBDR He#$tion 6t$b#e7 L$n&$&e de d2inition Contenu de t$b#e C# )rim$ire C# tr$n&Ire SML
XML - Yves Bekkers - IFSIC

$M% Jrbre 5B5 - XML Sc+m$ Inst$nce de document Jttribut I5 Jttribut I5H-F XSLB
111

S4B5-XML-:BML
% S4B53 XML3 :BML ne sont )$s des tec+no#o&ies concurrentes
1 -##es sont com)#ment$ires
.ml en aval S4B5 des 'DBD .ml en amont de E7ML

XML

:BML

"5F

XML - Yves Bekkers - IFSIC

112

Mu#ti)#es $))#ic$tions d/XML


% di22usion de contenu sur #e Leb
1 com)#ment :BML3 CSS3 $u' S4B5 Q

% c+$n&e entre $))#ic$tions distribues


1 -5I3 -bisness3 Q

% $rc+iv$&e :
1 2ic+iers de con2i&ur$tion 1 in2orm$tion $u 2$ib#e dOn$misme 6$nnu$ires7

% &estion de #$ conn$iss$nce
XML - Yves Bekkers - IFSIC 11!

J))ort d*XML
% 4$ins 0u$#it$ti2s
1 ro' stesse :
% 2orce #*$bstr$ction % un uni0ue nive$u d*$bstr$ction

1 partage des efforts : mutu$#is$tion des outi#s 1 technologie o (erte : 0ui v$ tr$verser #e tem)s 1 simplicit : te'te dit$b#e

% 4$ins 0u$ntit$ti2s
1 mise en Puvre r$)ide c$r e##e est directe
XML - Yves Bekkers - IFSIC 11.

Mue#0ues r2rences
% Le site XML du F!C
'ttp@22CCC.CD.or&2E"L2

% (n site 2r$nco)+one XML


'ttp@22CCC.c'eH.com2Aml2

% (n &#oss$ire XML
'ttp@22CCC.AmlstarterIit.com2AmlHone2&lossar%.'tm

% (ne +istoire des #$n&$&es b$#ise


'ttp@22CCC.&uten?er&.eu.or&2pu?2MN5en?er&2pu?li cations2ca'iers.'tml.Ca'ier12

XML - Yves Bekkers - IFSIC

115

Livre en 2r$nR$is 6concis7


% .ML prcis et concis
1 ,*Hei##O3 )$r Hobert -ckstein et Mic+e# C$s$bi$nc$

XML - Yves Bekkers - IFSIC

11>

Vous aimerez peut-être aussi