Sunteți pe pagina 1din 65

eXtensible

Markup
Language
V. Augusto
Introduction
Panorama des
technologies
XML

eXtensible Markup Language

D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

1/65

Vincent Augusto

Ecole
Nationale Sup
erieure des Mines de Saint-Etienne

2008-2009

eXtensible
Markup
Language
V. Augusto

1 Introduction

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

2 Panorama des technologies XML


3 D
ecouverte de XML

Principes fondamentaux
Exemples dapplications XML
Apports de XML
Recommandation XML 1.0
Mecanisme des DTD
XML Schema
4 Conclusion

2/65

eXtensible
Markup
Language

Introduction

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

XML est...
un format universel pour les documents et donn
ees

(semi-)structures sur le web.


une version simplifi
ee de SGML (ISO 8879).
le successeur de HTML.
un m
eta-langage pour definir des langages de balises.
`
a lorigine dune nouvelle famille de standards : XLink,

Xpointer, SOAP, XQuery, etc.

3/65

eXtensible
Markup
Language

Origine

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Travail coop
eratif dun grand nombre dentreprises et de

chercheurs.
D
eveloppement et promotion par le W3C.
Industriels : Oracle, IBM, Compaq, Microsoft...
Laboratoires de recherche : MIT, INRIA, Universit
e de

Keio (Japon).

Conclusion

Objectif :
Definir un formalisme pour faciliter lechange de donnees sur le
web.
4/65

eXtensible
Markup
Language

Origine

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Successeur du HTML (HyperText Markup Language) :


Ensemble pr
edefini et limite de balises.
Laffichage dun document est fortement d
ependant de

linterpretation quen fait le navigateur.


Une fois cr
ee, le document est lie `a une norme. Indexation

difficile.

Heritier du SGML (Standardized Generalized Markup


Language) :
Tr`
es utilise en documentation technique.
Trop complexe pour une utilisation grand public.
XML utilise 10 % de SGML pour repr
esenter efficacement

la plupart des besoins des applications.


5/65

eXtensible
Markup
Language

Connexion de deux univers

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Gestion de documents :
SGML.
Documentation

hypertexte.
HTML.

Gestion de donnees :
Bases de donn
ees

structurees (relationnelles
et objet).
Entrep
ots de donnees.

XML
Un document XML est un ensemble imbriqu
e delements

representes par un arbre etiquete.


Un document XML poss`
ede plusieurs composants

(attributs, entites, etc.) pour structurer documents et


donnees.
6/65

eXtensible
Markup
Language
V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

7/65

Exemple

eXtensible
Markup
Language
V. Augusto

1 Introduction

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

2 Panorama des technologies XML


3 D
ecouverte de XML

Principes fondamentaux
Exemples dapplications XML
Apports de XML
Recommandation XML 1.0
Mecanisme des DTD
XML Schema
4 Conclusion

8/65

eXtensible
Markup
Language

Structure et contraintes

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Deux langages pour contraindre les structures XML :


D
efinition de Type de Document (DTD), heritee de

SGML.
Sch
ema XML, formalisme complet et rigoureux pour

declarer les contraintes structurelles et les types.

Remarques :
DTD et sch
emas ne sont pas obligatoires.
XML fournit une syntaxe, pas une s
emantique.
Les balises nont pas de pr
esentation/signification

predefinie.
XML ne d
efinit que la structure et le contenu dun

document, pas son comportement ni son traitement.


9/65

eXtensible
Markup
Language

DOM

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

DOM (Document Object Model) :


Interface de programmation ind
ependante du langage et

des plate-formes.
Permet dacc`
eder :

la structure des documents (HTML et XML) ;


le contenu des documents ;
le style ;
les evenements.

API d
efinie pour OMG IDL, Java et ECMAScript.

10/65

eXtensible
Markup
Language

XPath

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

XPath :
Langage dexpressions de chemin : permet ladressage des

documents XML.
Une expression
elementaire XPath contient :
un axe qui sp
ecifie la relation structurale : fils,

descendants, ancetres, fr`eres, etc.


un test qui sp
ecifie le type de nud ;
des pr
edicats pour raffiner la selection.

Constitue les briques de base dautres applications XML :

XLink, XSLT, XQuery.

11/65

eXtensible
Markup
Language

XLink

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

XML Linking Language :


Langage hypertexte avanc
e permettant dinserer des liens

entres ressources dans des documents XML.


Liens simples unidirectionnels (comme HTML).
Liens hors document.
Liens multi-directionnel.
Comportement des liens.
XLink utilise XPath pour adresser lint
erieur des structures

XML.

12/65

eXtensible
Markup
Language

Transformation de documents

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Le web presente de multiples cas de transformation :


Formatage.
R
eutilisation de document.
Adaptation aux appareil de pr
esentation.
Conversion de format (XML vers HTML, LATEX vers

HTML).

Trois approches :
Programmes utilisant le DOM.
Feuilles de transformation XSLT.
Le langage de requ
etes XQuery.

13/65

eXtensible
Markup
Language

XSLT

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

14/65

Langage de transformation (le Perl de XML) :


Une feuille de transformation XSLT contient un ensemble

de r`egles pattern/template :
Pattern : contexte structurel dans larbre source.
Template : fragment du r
esultat `a produire pour le

pattern correspondant.
Quand le pattern est reconnue dans le document source, le

template correspondant est engendre dans le document


resultat.

eXtensible
Markup
Language

XQuery

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

15/65

Langage de requete (le SQL de XML) :


Un mod`
ele de donnees pour les documents XML.
Un ensemble dop
erateurs sur ce mod`ele (alg`ebre).
Un langage de requ
ete fonde sur ces operateurs (syntaxe).
Les requ
etes XQuery :
peuvent s
electionner des documents entiers ou des
sous-arbres qui repondent `a la requetes ;
peuvent construire des documents nouveaux fond
es sur ce
qui est selectionne.

eXtensible
Markup
Language
V. Augusto

1 Introduction

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

2 Panorama des technologies XML


3 D
ecouverte de XML

Principes fondamentaux
Exemples dapplications XML
Apports de XML
Recommandation XML 1.0
Mecanisme des DTD
XML Schema
4 Conclusion

16/65

eXtensible
Markup
Language

XML

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

17/65

Definition formelle :
XML est un m
eta-langage de description et d
echange de
documents structur
es.

Notion de balisage structurel :

Etant
donne un document, il est souhaitable de separer
completement les informations de structure des informations
de pr
esentation.

eXtensible
Markup
Language
V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

18/65

Exemple de document

eXtensible
Markup
Language
V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

19/65

Representation XML

eXtensible
Markup
Language

Representation XML

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Points importants :
La repr
esentation de cette lettre en XML ne comporte

aucune indication sur sa mise en page.


De nombreuses propri
etes graphiques ou typographiques

sont absentes de la source XML.


Ces propri
etes graphiques seront definies par

lintermediaire dune feuille de style.

Conclusion

Feuille de style :
Ensemble de r`egles pour specifier la realisation concr`ete dun
document sur un media particulier.
20/65

eXtensible
Markup
Language
V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

21/65

Feuille de style

eXtensible
Markup
Language
V. Augusto

1 Introduction

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

2 Panorama des technologies XML


3 D
ecouverte de XML

Principes fondamentaux
Exemples dapplications XML
Apports de XML
Recommandation XML 1.0
Mecanisme des DTD
XML Schema
4 Conclusion

22/65

eXtensible
Markup
Language

XHTML

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

XHTML :
Application SGML.
Reformulation de HTML en tant quapplication XML.

Interet :
Syntaxe plus rigoureuse.
Importation de fragments de documents dautres domaines

nominaux.
Possibilit
e dutiliser les applications XML standards.

23/65

eXtensible
Markup
Language

MathML

V. Augusto

Objectif :
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Permettre l
echange et le traitement dexpressions

mathematiques sur le web.


Insertion ais
ee dexpressions mathematiques dans des

documents HTML ou XML.


Communication dexpressions entre applications sur le plan

semantique.
Permettre `
a un auteur dassocier un notation `a une

expression.

Conclusion

Syntaxe :
Langage de pr
esentation (bas niveau, definition de

notations).
24/65

Langage dexpressions (contenu s


emantique dexpressions.

eXtensible
Markup
Language

SVG

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

25/65

SVG (Scalable Vector Graphics) :


Langage de description de graphiques 2D.
Graphiques vectoriels.
Graphiques int
eractifs et dynamiques :
animations d
eclaratives ;
programmation ECMAScript.

eXtensible
Markup
Language

SOAP

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

26/65

SOAP (Simple Object Access Protocol) :


Protocole d
echange de donnees entre applications

distantes.
Adapt
e pour etre utilise au-dessus du protocole HTTP

(methode POST).
Messages structur
es selon le formalisme :
enveloppe ;
en-t
ete ;
corps de texte.

eXtensible
Markup
Language
V. Augusto

1 Introduction

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

2 Panorama des technologies XML


3 D
ecouverte de XML

Principes fondamentaux
Exemples dapplications XML
Apports de XML
Recommandation XML 1.0
Mecanisme des DTD
XML Schema
4 Conclusion

27/65

eXtensible
Markup
Language

Extensibilite et structure

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Structure libre :
En XML, une communaut
e dauteurs invente librement les

balises utiles pour marquer les composants dun document.


Exemple : repr
esentation dune date.
<date>24 octobre 2008</date>
<date><a>2008</a><m>10</m><j>24</j></date>
<date format=ISO-8601>2008-10-24</date>

La grande libert
e dans le choix des structures de donnees

facilite l
echange de donn
ees :

28/65

commerce electronique ;
transactions financi`eres et commerciales ;
recherche et industrie des biotechnologies ;
multimedia...

eXtensible
Markup
Language
V. Augusto

Inter-operabilite des outils de


traitement

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Organisation centree sur XML :


Toutes les donn
ees peuvent etre vues comme des

documents XML et non comme des fichiers de formats


differents.
Cons
equences :
un serveur de documents XML est susceptible de r
epondre

`a lensemble des besoins dune organisation ;


un simple
editeur de fichiers texte permet de traiter

lensemble des donnees dune organisation.

29/65

eXtensible
Markup
Language

Modularite et reutilisation

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Chaque utilisateur est libre de d


efinir ses propres structures

de documents.
Il peut aussi de conformer `
a des structures types, appelees

DTD.
Chaque communaut
e peut ainsi proposer des structures

normalisees.
La conformit
e `a une DTD permet lautomatisation des

traitements et assure une possibilite de controle de validite.

30/65

eXtensible
Markup
Language
V. Augusto

Acc`es `a des sources dinformation


heterog`enes

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Linterrogation et l
echange de donnees entre syst`emes

dinformation heterog`enes est souvent complexe.


XML contribue `
a resoudre ce probl`eme : format dechange

normalise independant de toute plate-forme.


Lindexation et linterrogation de bases documentaires est

facilite par la presence dinformations structurelles en plus


des informations textuelles.

31/65

eXtensible
Markup
Language
V. Augusto

1 Introduction

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

2 Panorama des technologies XML


3 D
ecouverte de XML

Principes fondamentaux
Exemples dapplications XML
Apports de XML
Recommandation XML 1.0
Mecanisme des DTD
XML Schema
4 Conclusion

32/65

eXtensible
Markup
Language

Exemples de documents XML

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

33/65

<d/>
<document> </document>
<document> Bonjour ! </document>
<document>
<salutation> Bonjour ! </salutation>
</document>
<?xml version="1.0" standalone="yes">
<document>
<salutation> Bonjour ! </salutation>
</document>

eXtensible
Markup
Language

Structure dun document

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

34/65

Un document XML se compose :


dun prologue,
eventuellement vide ;

<?xml version="1.0" standalone="yes">


dun arbre d
el
ements ;

<document>
<salutation> Bonjour ! </salutation>
</document>
de commentaires et dinstructions de traitement,
facultatifs.

eXtensible
Markup
Language

Prologue dun document

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Declaration XML (facultative) :


<?xml version="1.0" encoding="ISO-8859-1"
standalone="yes">
Indique au processeur qui va traiter le document :
la version du langage XML utilis
e;
le codage des caract`
eres utilise ;
lexistance de d
eclarations exterieures au document.

Declaration de type de document (facultative) :


<!DOCTYPE exemple SYSTEM "exemple.dtd"
[declarations]>
Indique la structure particuli`ere `a laquelle doit se conformer un
document.

35/65

eXtensible
Markup
Language

Structure dune DTD

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

36/65

Une DTD peut comprendre deux partie :


Une partie externe :

Definie en dehors du document, la partie externe est


referencee par une reference DTD (souvent une URL). Ce
mecanisme permet dassurer une reutilisation de DTDs.
Une partie interne :

La partie interne est utilisee pour specialiser une DTD


externe generique ou redefinir certains types delements.

eXtensible
Markup
Language

Structure dun element (1/2)

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Un
element est de la forme :

<nom attr="valeur"> contenu </nom>


<nom> est la balise douverture.
</nom> est la balise de fermeture.
Un
element vide est note indifferemment <nom> </nom>

ou <nom/>.
contenu est le contenu dun
element. Il peut sagir :

de vide ;
de texte ;
dautres elements ;
dune imbrication de texte et delements ;
dinstructions de traitement...

attr="valeur" repr
esente un ensemble eventuellement

vide dattributs de noms differents.


37/65

eXtensible
Markup
Language

Structure dun element (2/2)

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Un nom d
element est une suite non vide de caract`eres

pris parmi :

les caract`eres alphanumeriques ;


lunderscore ( ) ;
le signe moins ;
le point ;
le caract`ere deux-points est utilisable, mais a un sens
particulier.

Un nom d
element doit satisfaire les contraintes

suivantes :
le premier caract`
ere doit etre alphanumerique ou

underscore ;
les trois premiers caract`
eres ne doivent pas former xml.

38/65

eXtensible
Markup
Language

Syntaxe des attributs

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

39/65

Un attribut est une paire nom="valeur" permettant de

caracteriser un element.
Un
element peut avoir plusieurs attributs, separes par un

espace.
<rapport langue="fr"
derniere-modif="08/07/99">
(...)
<annuaire generator="SQL2XML V2.0"
last-update="07.08.99">
Le nom dun attribut ob
eit aux meme r`egles que le nom
dun element.

eXtensible
Markup
Language

Arbre delements

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

40/65

Un document XML contient un arbre delement si :


Il existe un unique
element p`ere qui contient tous les

autres : il sagit de lelement racine du document XML.


Tout
element distinct de la racine est totalement inclus

dans son p`ere : il ne peut y avoir recouvrement partiel.


Ceci nest pas une structure XML :
<p><b> bla blo </p> bli </b>

eXtensible
Markup
Language

Document valide

V. Augusto

Un document XML est dit valide si :


Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

41/65

Son prologue contient une d


eclaration de type de

document (DTD).
Son arbre d
elements respecte une structure definie par la

declaration de type.
<?xml version="1.0" encoding="ISO-8859-1"
standalone="yes" ?>
<!DOCTYPE document [
<!ELEMENT document (salutation)>
<!ELEMENT salutation (#PCDATA)>
]>
<document>
<salutation> Bonjour ! </salutation>
</document>

eXtensible
Markup
Language
V. Augusto

1 Introduction

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

2 Panorama des technologies XML


3 D
ecouverte de XML

Principes fondamentaux
Exemples dapplications XML
Apports de XML
Recommandation XML 1.0
Mecanisme des DTD
XML Schema
4 Conclusion

42/65

eXtensible
Markup
Language

Contenu dune DTD

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Une DTD peut contenir des declarations :


d
elements ;
de listes dattributs ;
dentit
es generales ;
dentit
es param`etres ;
de notations ;

ainsi que des commentaires.

43/65

eXtensible
Markup
Language

Declaration delement

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

44/65

Une declaration delement est de la forme :


<!ELEMENT nom modele>
ELEMENT est un mot-clef et s
ecrit imperativement en

majuscules.
nom est un nom valide d
element.
modele est le mod`
ele de contenu de cet element. On

distingue 5 mod`eles de contenu :

elements ;
donnees ;
mixte ;
libre ;
vide.

eXtensible
Markup
Language

Mod`ele de contenu : elements

V. Augusto

Sequence delements fils :


Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

<!ELEMENT chapitre (titre,intro,section)>


Un element chapitre doit contenir, imperativement et dans
cet ordre, un titre, une intro, et une section.

Alternatives :
<!ELEMENT chapitre (titre,intro,
(section|paragraphes))>
Un element chapitre doit contenir, imperativement et dans
cet ordre, un titre, une intro, et une section ou des
paragraphes.

Indicateurs doccurrence :
p* : p peut apparatre z
ero, une ou plusieurs fois.
p+ : p peut apparatre une ou plusieurs fois.
45/65

p? : p peut apparatre z
ero ou une fois.

eXtensible
Markup
Language

Mod`ele de contenu : elements

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

46/65

<!ELEMENT chapitre (
titre,
intro?,
section+ ) >
<!ELEMENT section (
titre-section,
texte-section ) >
<!ELEMENT texte-section (p|a)* >

eXtensible
Markup
Language

Mod`ele de contenu : donnees

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

47/65

<!ELEMENT p (#PCDATA) >

La presence de donnees dans le contenu dun element est


specifiee par le mot-cle #PCDATA.

eXtensible
Markup
Language

Mod`ele de contenu : mixte

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

48/65

<!ELEMENT p (#PCDATA | nom1 | ... | nomN)* >

Ce mod`ele permet de definir des mod`eles de contenu autorisant


le melange donnees/elements.

eXtensible
Markup
Language

Mod`ele de contenu : mixte

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Exemple de declaration :
<!ELEMENT p
(#PCDATA | em | exposant | indice | renvoi)* >
<!ELEMENT em (#PCDATA|exposant|indice)* >
<!ELEMENT exposant (#PCDATA) >
<!ELEMENT indice (#PCDATA) >

Exemple dutilisation :
<p>Un paragraphe peut contenir du texte <em>mis
en evidence</em> ou en
<exposant>exposant</exposant>.</p>

49/65

eXtensible
Markup
Language

Mod`ele de contenu : libre

V. Augusto
Introduction
Panorama des
technologies
XML

<!ELEMENT p ANY>

D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Un
element peut etre defini comme ayant un contenu

quelconque, sous reserve que ce contenu respecte les


r`egles generales du langage XML.
Pour que le contenu dun
element de mod`ele de contenu

libre soit valide, il faut que, sil contient des elements,


ceux-ci soient declares dans la DTD.

50/65

eXtensible
Markup
Language

Mod`ele de contenu : libre

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

51/65

Exemple de declaration :
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT

rapport ANY>
chapitre ANY>
section ANY>
titre-section ANY>
illustration ANY>
bibliographie ANY>
table-matieres ANY>
index ANY>

eXtensible
Markup
Language

Mod`ele de contenu : vide

V. Augusto
Introduction
Panorama des
technologies
XML

<!ELEMENT p EMPTY>

D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Un
element peut etre declare comme obligatoirement vide

`a laide du mot-cle EMPTY.


Lorsquun mod`
ele de contenu dun element et le mod`ele

vide, il doit obligatoirement respecter la syntaxe <nom/>.


Il est impossible de m
eler EMPTY `a une autre construction

de mod`ele de contenu.

52/65

eXtensible
Markup
Language

Mod`ele de contenu : vide

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Exemple de declaration :
<!ELEMENT p (#PCDATA|bibref)* >
<!ELEMENT bibref EMPTY>
<!ATTLIST bibref ref IDREF #REQUIRED>

Exemple dutilisation :

Conclusion

<p>Pour une definition precise, voir


<bibref ref=REC-xml-19980210/>.</p>

53/65

eXtensible
Markup
Language

Exemple de DTD

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

54/65

<?xml version="1.0" ?>


<!ELEMENT email (to+, from, cc*, bcc*,
subject?, body?)>
<!ATTLIST email
language (Western|Greek|Latin|Universal)
"Western"
encrypted CDATA #IMPLIED
priority (normal|low|high) "normal">
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT

to (#PCDATA)>
from (#PCDATA)>
cc (#PCDATA)>
bcc HIDDEN CDATA #FIXED "TRUE">
subject (#PCDATA)>
body (#PCDATA)>

eXtensible
Markup
Language

Declaration dattributs

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

<!ATTLIST nom-element nom-attribut


type-attribut valeur-defaut>

Un attribut est une paire nom-valeur associ


ee `a un

element.
Sp
ecification des attributs qui pourront/devront etre

associes `a des instances delements.

55/65

eXtensible
Markup
Language

Types dattribut

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Le type dattribut peut etre :


CDATA : la valeur de lattribut est une chane de caract`
eres.
ID ou IDREF : permet de d
efinir des renvois `a linterieur

dun document.
ENTITY ou ENTITIES : permet quun attribut prenne

comme valeur le nom dune entite.


NOTATION : d
efinit un attribut de notation.
Une liste de choix dans un ensemble de tokens ou

identifiants logiques.

56/65

eXtensible
Markup
Language
V. Augusto

Declaration par defaut et


contraintes

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Quatre formes distinctes :


Valeur par d
efaut de lattribut.
#REQUIRED : chaque
element instance devra posseder un

attribut de ce nom. Ne peut prendre de valeur par defaut.


#IMPLIED : pr
esence facultative. Ne peut prendre de

valeur par defaut.


#FIXED : fixe la valeur de cet attribut pour tout
element

instance. Il nest pas necessaire de repeter cet attribut.

57/65

eXtensible
Markup
Language

Exemples

V. Augusto
Introduction

Attribut CDATA

Panorama des
technologies
XML

<!ATTLIST f att1 CDATA #FIXED toto>

D
ecouverte de
XML

Lattribut att1 des elements de type f a une valeur constante :


la chane de caract`eres toto.

Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Attribut enumere
<!ELEMENT date (#PCDATA) >
<!ATTLIST date format (ANSI|ISO|FR) #REQUIRED>

Conclusion

<date format=FR> 24 Mai 1998 </date>


<date format=ISO> 1998-05-24 </date>
Lattribut format est obligatoire, et doit prendre sa valeur
parmi ANSI, FR ou ISO.
58/65

eXtensible
Markup
Language
V. Augusto

Entites internes
Entites definies par lutilisateur :

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

<!ENTITY nom-entite "valeur-entite">

Exemple
La declaration suivante
<!DOCTYPE toto [
<!ENTITY copyright "&#x00A9; Editions titi">
]>
<toto> &copyright </toto>
produira

59/65

c Editions titi

eXtensible
Markup
Language

Entites param`etres

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

60/65

Les entit
es internes sont definies dans une DTD pour etre

utilisees dans un document.


Ces entit
es jouent le r
ole de constantes symboliques.
Introduction du m
eme mecanisme au sein dune DTD, afin

de nommer et de reutiliser des mod`eles de contenu qui


apparaissent de mani`ere repetitive.
XML propose pour cela le m
ecanisme des entites

param`etres ( variables) :
<!ENTITY % nom-entite "valeur-entite">
<!ENTITY % nom-entite SYSTEM url>

eXtensible
Markup
Language
V. Augusto

1 Introduction

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

2 Panorama des technologies XML


3 D
ecouverte de XML

Principes fondamentaux
Exemples dapplications XML
Apports de XML
Recommandation XML 1.0
Mecanisme des DTD
XML Schema
4 Conclusion

61/65

eXtensible
Markup
Language

XML Schema

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

XML Schema est une alternative aux DTDs :


Langage de d
efinition de schema pour XML.
Permet de d
efinir des types simples/complexes, des

structures delements/dattributs.
Utilisation doutils XML standards.

Avantages :
Support des types de donn
ees.
Description plus fine de la structure dune famille de

documents.

Echange
de donnees avec des bases de donnees.
Conversion de donn
ees de types differents...
62/65

eXtensible
Markup
Language

Comparaison DTD/XML Schema

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

63/65

<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT

note (to, from, heading, body)>


to (#PCDATA)>
from (#PCDATA)>
heading (#PCDATA)>
body (#PCDATA)>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"
minOccurs=1 maxOccurs=1/>
<xs:element name="from" type="xs:string/>"
<xs:element name="heading" type="xs:string/>"
<xs:element name="body" type="xs:string/>"
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

eXtensible
Markup
Language
V. Augusto

1 Introduction

Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

2 Panorama des technologies XML


3 D
ecouverte de XML

Principes fondamentaux
Exemples dapplications XML
Apports de XML
Recommandation XML 1.0
Mecanisme des DTD
XML Schema
4 Conclusion

64/65

eXtensible
Markup
Language

XML est inevitable

V. Augusto
Introduction
Panorama des
technologies
XML
D
ecouverte de
XML
Principes
fondamentaux
Exemples
dapplications
XML
Apports de XML
Recommandation
XML 1.0
M
ecanisme des
DTD
XML Schema

Conclusion

Les avantages de XML sont indeniables :


Apprentissage rapide, seul un
editeur de texte est requis.
Mise en avant de la r
edaction structuree pour la

production de documents recuperables (pour Internet).


Utilisation de XML pour rendre le HTML dynamique.
Le d
eveloppement serveur implique lutilisation de

composants configurables en XML (Java).


La philosophie XML p
en`etre tous les secteurs de

linformatique (sites web dynamiques, interrogation de


bases de donnees, syst`emes dexploitation).

65/65

S-ar putea să vă placă și