Académique Documents
Professionnel Documents
Culture Documents
XML DTD
Nicolas Malandain
1 / 48
XML DTD
Plan
1
XML
Generalites
Organisation
Les elements
Les attributs
Les sections litterales
Les Entites
Conseils
DTD
Organisation
Les elements
Les attributs
Les entites param`etres
2 / 48
XML DTD
3 / 48
XML DTD
Evolution
de XML
4 / 48
XML DTD
XML 1.0 est un SGML simplifie, diverses applications XML ont suivi :
eXtensible Stylesheet Language
XSLTransformation : transformation dun document XML en un autre
XSL-Formatting Object : decrit la composition de pages destinees `a
limpression (rival de Postscript)
5 / 48
XML DTD
6 / 48
XML DTD
HTML / XML
<p> Nicolas Malandain </p>
<address>
INSA de Rouen<br>
BP08<br>
Avenue de lUniversit
e<br>
76801 Saint
Etienne du Rouvray
</address>
<enseignant corps="ma^
tre de conf
erences">
<prenom>Nicolas</prenom><nom>Malandain </nom>
<adresse>
<structure>INSA de Rouen</structure>
<bp>BP08</bp>
<rue>Avenue de lUniversit
e</rue>
<cp>76801</cp>
balises et semantiques
associees sont predefinies
extensibilite du langage
melange de structurations
logique et physique
perte du sens
structuration logique
modularite et reutilisation des structures
facilite lacc`es `
a des sources de donnees
heterog`enes
7 / 48
XML DTD
Tout document valide peut etre distribue sans sa DTD (ou reference `a sa
DTD), il apparatra alors comme bien forme aux utilisateurs (humains ou
electroniques : navigateur).
8 / 48
XML DTD
Un arbre delements
Des commentaires (facultatifs)
9 / 48
XML DTD
10 / 48
XML DTD
Declaration XML
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes">
11 / 48
XML DTD
Instructions de traitement
Instructions facultatives
Leur contenu est transmis `a une application qui declenchera des
traitements
12 / 48
XML DTD
Declaration :
de structure `a laquelle le document doit se conformer
dentites
de lelement racine de larbre delements
Exemple
<!DOCTYPE lettre SYSTEM "lettre.dtd" [
<!ENTITY destinataire "Ultasonnul Th
er`
ese">
<!ENTITY motif "Convocation">
]>
XML et DTD - v1.0
13 / 48
XML DTD
Larbre delements 1 / 2
Un element est compose :
dune balise douverture
dun contenu
dune balise de fermeture
Le nom delement (balise) :
caract`eres alpha-numeriques, souligne, tiret et point
pas de caract`eres despacement ou de fin de ligne
: est reserve pour les espaces de noms
premier caract`ere alphanum ou
la casse est importante
aucune balise ne peut commencer par xml (qq soit la casse)
14 / 48
XML DTD
Larbre delements 2 / 2
Lelement vide (sans contenu) :
<nomelt></nomelt>
<nomelt/>
15 / 48
XML DTD
Un
el
ement peut contenir un m
elange :
delements
de donnees : tous les caract`eres exceptes & et <
de references `a des entites
de sections litterales (CDATA)
dinstructions de traitement
16 / 48
XML DTD
Attributs delements
17 / 48
XML DTD
Affectation de propri
et
es particuli`
eres `
a des
el
ements
18 / 48
XML DTD
Section litterale
Pas dinterpr
etation du contenu de la section litt
erale
Pratique pour mettre du XML dans du XML
Ce qui donne :
Section litt
erale: <titre> Un titre litt
eral </titre>
XML et DTD - v1.0
19 / 48
XML DTD
paramtres
internes
entite="valeur"
gnrales
Utilisation :
externes
nonparses
caractres
prdfinies
numriques
nommes
contenu mixte
interne
externe
20 / 48
XML DTD
Entites caract`eres
Entit
es ne contenant quun seul caract`
ere
21 / 48
XML DTD
<!DOCTYPE eltracine [
<!ENTITY entite "valeur ">
]>
Exemple
<!ENTITY insa "<ecole>INSA de Rouen</ecole>">
22 / 48
XML DTD
23 / 48
XML DTD
FPI : "type//propri
etaire//texte public//langue"
type :
identificateur unique (conforme ISO 9070) et enregistre : "+"
exemple : ISBN
identificateur non enregistre : "-"
identificateur appartenant `a lISO debute par : ISO 8879-1986
propri
etaire : personne, entreprise, organisme (absent pour lISO)
texte public : 2 parties motcl
e description textuelle
DOCUMENT : lentite contient un doc SGML ou XML
DTD : lentite contient une DTD
ENTITIES : lentite contient des declarations dentites
...
24 / 48
XML DTD
25 / 48
XML DTD
26 / 48
XML DTD
R
ecapitulatif de lutilisation dentit
es
Utilisation
Caract`
ere
XML interne
XML externe
R
ef
erence
dans
le
contenu dun
el
ement
Remplacement
Remplacement
Interdit
R
ef
erence dans la valeur dun attribut
Nom
symbolique
comme valeur dattribut
R
ef
erence dans la valeur dune autre entit
e
Remplacement
Remplacement 1
Remplacement
imm
ediat
ou
non
(choix du d
eveloppeur)
Interdit
Non reconnu
Interdit
Interdit
Remplacement
Message `
a lapplication
ou appel de lapplication externe
Interdit
Interdit
27 / 48
XML DTD
28 / 48
XML DTD
29 / 48
XML DTD
Notion de validation
30 / 48
XML DTD
31 / 48
XML DTD
Fichier personne.dtd
<?xml version="1.0" encoding="ISO-8859" ?>
<!ELEMENT personne (identite, profession*)>
<!ELEMENT identite (prenom, nom)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT profession (#PCDATA)>
Fichier dupond.xml
<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
<!DOCTYPE personne SYSTEM "./personne.dtd" >
<personne>
<identite>
<prenom>Jean</prenom>
<nom>Dupondavecund</nom>
</identite>
<profession>detective</profession>
<profession>garde du corps</profession>
</personne>
32 / 48
XML DTD
La declaration de DTD
33 / 48
XML DTD
34 / 48
XML DTD
Declaration delements
Structure dune d
eclaration d
el
ement
<!ELEMENT nom element (modele contenu ) >
35 / 48
XML DTD
Mod`eles de contenu 1 / 3
Sous element
<!ELEMENT element (souselement )>
<!ELEMENT fax (numero)>
36 / 48
XML DTD
Mod`eles de contenu 2 / 3
37 / 48
XML DTD
Mod`eles de contenu 3 / 3
contenu indetermine
38 / 48
XML DTD
Declaration dattributs
Structure dune d
eclaration dattributs
<!ATTLIST element
attribut1 type d
eclaration par d
efaut
efaut
attribut2 type d
eclaration par d
...
attributn type d
eclaration par d
efaut
>
Exemple
<!ATTLIST image src
width
height
alt
>
CDATA
CDATA
CDATA
CDATA
#REQUIRED
#REQUIRED
#REQUIRED
#IMPLIED
39 / 48
XML DTD
Types dattributs 1 / 2
40 / 48
XML DTD
Types dattributs 2 / 2
41 / 48
XML DTD
42 / 48
XML DTD
Utilisation
%entite parametre;
43 / 48
XML DTD
location (appartement
appartement (adresse,
maison
(adresse,
meuble
(adresse,
chambre
(adresse,
| maison |
nb pieces,
nb pieces,
nb pieces,
nb pieces,
meuble
loyer,
loyer)
loyer,
loyer,
| chambre)+>
charges)
charges)
charges)
44 / 48
XML DTD
45 / 48
XML DTD
%entites ;
46 / 48
XML DTD
Inclusion conditionnelle
Directive : IGNORE
<![IGNORE[
d
eclaration `
a ignorer
]]>
Directive : INCLUDE
<![INCLUDE[
d
eclaration `
a inclure
]]>
47 / 48
XML DTD
Quelques references
48 / 48