Sie sind auf Seite 1von 43

XML : EXTENSIBLE MARKUP

LANGUAGE
Sami OUALI

Plan
Historique XML
Concepts de base
Document bien form
Codage
Galaxie XML
Conclusions
2

HISTORIQUE XML

Balisage
Balisages des manuscrits pour l'imprimerie
processus par lequel un rdacteur introduisait des marques
(balises) dans un manuscrit pour indiquer limprimeur
comment composer (formater) le manuscrit.

Balisages des documents numriques


Avant les rseaux:
Photocomposition
Unix : troff, Latex

Pour le web:
GML SGML
HTML
4

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

Troff
Une commande Unix pour le formatage de texte

.\" @(#)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

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
7

GML premire normalisation du balisage


Quoi : unifier trois systmes disparates
une application ddition de texte,
une application de composition
une base pour linterrogation documentaire.

Par qui : Charles Goldfarb


O : IBM, New York
Pour qui : un consortium davocats
Quand : 1969

GML : comment
Des documents contenant un mlange harmonieux
dinformation et de mta-information de structure
Documents comprhensibles par les machines
Documents textuels faciles mettre en uvre
ditables laide de nimporte quel diteur de texte

Comme les bases de donnes


On peut rechercher linformation par son contenu
On peut tiqueter linformation par identificateur unique

1986 norme ISO (ISO 8879) pour Standard GML (SGML)


9

Exemple de dialect GML (1978)


DCF (Document Composition Facility), un anctre de html
Le premier dialect GML qui Goldfarb va donner une DTD.
: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.

10

Naissance dHTML
Gnralisation des rseaux
Naissance des navigateurs

SGML ne prend pas en compte la dimension rseau


Extension du dialecte SGML par un systme dadressage
universel des documents travers les rseaux : liens
hypertexte ou URLs

De nouveaux types de documents tels que des


images et du son, ont fait leur apparition.
Extension des possibilits daffichage des navigateurs
11

HTML - les avantages


Un langage balises 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 daffichage dautres documents que les
textes
introduction du multimdia

12

HTML - les inconvnients


Manque de vrification syntaxique (pas de validation)
Manque de structure
HTML non-orient contenu : pas d info smantique
Pas international
Inadapt lchange de donnes
Absence dun mcanisme de liens robuste
Non rutilisable
Non extensible
13

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
par des outils
par des normes complmentaires

14

Conclusions du groupe de Travail


Rsultats donns en 1998
Prendre SGML
sa simplicit
l'accessibilit l'information
la gnricit (pas de balise prdfinie)

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

15

XML, qu'est-ce que c'est ?


balises descriptives (signification des donnes) plutt que
procdurales (prsentation des donnes)
libre, indpendant des plateformes logicielles ou matrielles
XML est extensible: ne contient pas un ensemble fix de
balises
les documents XML doivent tre bien forms suivant une
syntaxe dfinie, et peuvent donc tre formellement valids
XML est particulirement adapt l'change de donnes et de
documents.

16

XML, qu'est-ce que c'est ?


Lextraction des donnes dun document XML se fait
l'aide d'un outil appel analyseur syntaxique (en
anglais parser, ou parseur) qui permet :
d'extraire les donnes d'un document XML (analyse du
document ou parsing)
ventuellement, de vrifier la validit du document.

17

Dfinition
XML est un langage de description de documents structurs
XML est un format de document / donnes (dialectes) /
mtalangage (une famille de langages)
eXtensible Markup Language
Recommandation (norme) du W3C
Spcifiant un langage
Constitu dun ensemble dlments appels balises
Utilisable pour crer dautres langages

2 concepts fondamentaux
Structure et prsentation sont spars
Les balises ne sont pas figes
18

Intrt de XML
Richesse smantique
Ddi au traitement des donnes
Soutenant une grande varit dapplications

Facilit de mise en uvre


Simple et lisible
Portable et facilement utilisable sur Internet
Assurant un dveloppement ais

19

HTML vs XML : Similitudes


HTML et XML issus du SGML avec lequel ils
partagent des caractristiques communes:
Ils fonctionnent avec des balises.
Ils sont indpendants de la plateforme.
Ils sont en mode texte [plain text].

20

HTML vs XML : Diffrences


XML et HTML sont deux langages distincts.
XML dcrit, structure, change des donnes
tandis que Html ne fait qu'afficher des donnes.
XML est extensible et permet de crer ses
propres balises en fonction des donnes traites.
En Html, les balises sont prdfinies et donc
figes.

21

HTML vs XML
XML dcrit, structure, stocke,
transporte et change des
donnes.
XML est un gnrateur de
langages [mtalangages].
XML est un langage trs
structur.

Html affiche des donnes par


l'intermdiaire d'un
navigateur.
Html est un langage statique
de publication sur le Web.
Html est un langage hybride
et peu structur.

XML est un langage strict dont


l'criture doit tre rigoureuse. Html, cause des navigateurs
rcents, est devenu trs
permissif.
22

XML: CONCEPTS DE BASE

23

Elment
Un nom + des attributs ventuels + un contenu

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

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


2 Exemples :
<p>
Yves Bekkers
</p>

<personne>
<prnom>Yves</prnom>
<nom>Bekkers</nom>
</personne>
24

La forme + le fond
La forme

Balise d'ouverture
Contenu
Balise de fermeture

<p>

Le fond

Yves Bekkers
</p>

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

25

Contenu dlment

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

Construire des arbres


<p>

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

enseigne

em

au SEP de Rennes1

XML
27

Attribut
Quoi : un nom + une valeur
O : au sein de balise ouvrante dlment
Signification : qualifie llment
Exemple :

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

28

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

fo:inline

XML

et son arbre :

@font-style

italic

29

Exercice
Modliser larbre correspondant au document XML suivant:

30

DOCUMENTS BIEN FORMS

31

Structure dun document XML


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

Des Commentaires
Des instructions de traitement

32

Structure dun document - exemple


<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- ceci est une carte de visite -->
<carteDeVisite>
<prnom>Yves</prnom>
<nom>Bekkers</nom>
<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>

Prologue

Commentaire
lment racine

33

Document bien form


Rgle : Un document XML comporte un seul lment racine
<?xml version="1.0"?>
<livre>XLST Programmer's reference</livre>
<livre>XML et Java</livre>

Est interdit
Rgle : Toute balise ouvrante doit avoir sa balise fermante
<br> sans </br> est interdit en XML
34

Document bien form


Rgle : Le parenthsage doit tre correct
<a><b></b></a>
est bien form, quivalent
[
(
)
]
<a><b></a></b>
est mal form, quivalent
[
(
]
)

35

Syntaxe des noms dlment (exemples)


nom
prnom
-la-ligne
xsl:value-of
n123
dcompte.client
first_name

36

Syntaxe des noms dlments

37

Syntaxe des noms dlments


Rgle : Les majuscules et les minuscules sont diffrencies
(plus stricte quHTML)
Rgle : Les valeurs dattribut doivent tre encadres par des
doublescotes " ou des simples cotes
<a href=monFichier></a> est interdit (plus stricte quHTML)
Rgle : Un attribut pour un lment donn ne peut avoir
quune seule valeur
Exemple
<a href="val1" href="val2">

</a> est interdit


38

Rsum
Un document XML est compos de
lments

Texte
Autres lments
Mixte (texte + lments)
Vide

Commentaires
Instructions de traitement
Sections littrales

39

Exercice1
Ecrire le document XML associ la description suivante:
Une chanson possde un titre, un ensemble de compositeurs, un producteur,
un diteur, une dure, une anne de parution et lartiste.

Remplissez le document avec les donnes suivantes:


Titre: Hot Cop
Ensemble de compositeurs: Jacques Morali, Henri Belolo et Victor Willis
Producteur: Jacques Morali
diteur: Polygram Records
Dure: 6:20
Anne de parution: 1978
Artiste: Village People

40

Correction

41

42

Numro de
ligne

06
06
07
07
07
13
15
16
17 et 18
20 et 26

Nature de l'erreur
Il n'y a pas de racine, mais deux lments (annuaire) au plus
haut niveau.
Les balises ouvrante et fermante ne portent pas le mme
nom.
Il manque un tiret au commentaire.
L'lment date a deux attributs de mme nom.
Les sparateurs ouvrant et fermant de la valeur de l'attribut
ne sont pas les mmes.
L'lment date n'a pas de balise fermante.
La valeur de l'attribut n'est pas entre sparateurs.
Le nom de l'lment n'est pas un nom XML
Le nom de l'lment n'est pas un nom XML
Les balises fermantes doivent tre inverses
Les balises commencent par un chiffre
43

Das könnte Ihnen auch gefallen