Académique Documents
Professionnel Documents
Culture Documents
XML est l'acronyme de «eXtensible Markup • les balises sont sensibles à la casse
Language». • Les balises peuvent contenir des attributs
même les balises vides
XML permet d'échanger des données entres • les données incluses entre les balises ne
applications hétérogènes car il permet de doivent pas contenir de caractères < et & : il
modéliser et de stocker des données de façon faut utiliser respectivement < ; et & ;
portable. • La première ligne du document devrait
normalement correspondre à la déclaration
XML est extensible dans la mesure où il n'utilise de document XML : le prologue.
pas de tags prédéfinis comme HTML et il permet • Les espaces (l'indentation) n'est pris en
de définir de nouvelles balises : c'est un compte que dans le contenu des balises
métalangage. (pas dans la zone entre crochets < ... >).
Le format HTML est utilisé pour formater et afficher Par contre à l'intérieur des balises, chaque espace
les données qu'il contient : il est destiné à compte.
structurer, formater et échanger des documents <p>Une petite phrase pour remplir la balise p
d'une façon la plus standard possible.. .</p>.
est différent de
XML est utilisé pour modéliser et stocker des <p>Une petite phrase
données. Il ne permet pas à lui seul d'afficher les pour remplir la balise p ...</p>
données qu'il contient. ou encore
<p> Une petite phrase pour remplir
la balise p ...
2. Les règles ou norme XML pour formater un
</p>
document XML
3. Structure d'un document XML
Un certain nombre de règles doivent être
respectées pour définir un document XML valide et En réalité un document XML est structuré en 3
«bien formé». Pour pouvoir être analysé, un parties :
document XML doit avoir une syntaxe correcte. Les - La première partie, appelée prologue permet
principales règles sont : d'indiquer la version de la norme XML utilisée pour
créer le document (cette indication est obligatoire)
• Un document XML ne contient qu'une balise ainsi que le jeu de caractères (en anglais
racine (parent). encoding) utilisé dans le document (attribut
• chaque balise d'ouverture (exemple <tag>) facultatif, ici on spécifie qu'il s'agit du jeu ISO-
doit posséder une balise de fermeture 8859-1, jeu LATIN, pour permettre de prendre en
(exemple </tag>). Si le tag est vide, c'est à compte les accents français). Ainsi le prologue est
dire qu'il ne possède aucune données une ligne du type
(exemple <tag></tag>), un tag abrégé peut <?xml version="1.0" encoding="ISO-8859-1"?>
être utilisé (exemple correspondant : Le prologue se poursuit avec des informations
<tag/>) facultatives sur des instructions de traitement à
• les balises ne peuvent pas être intercalées destination d'applications particulières. Leur
(exemple syntaxe est la suivante :
<liste><element></liste></element> n'est
pas autorisé) <?instruction de traitement?>
• toutes les balises du document doivent Par exemple, <?xml-stylesheet
obligatoirement être contenues entre une type="text/xsl" href="biblio.xsl"?>
balise d'ouverture et de fermeture unique
dans le document nommée élément racine Dans cet exemple, l'application est xml-stylesheet,
• les valeurs des attributs doivent le processeur de feuille de style du XML. Deux
obligatoirement être encadrées avec des feuilles de style différentes peuvent être utilisées,
quotes simples ou doubles ( par exemple, les XSL (propres au XML) ainsi que les CSS
(feuilles de style apparues avec le HTML).
1
ENI Dr RV
3
ENI Dr RV
Exemple de déclarations pour une DTD interne : Ainsi pour définir un élément on utilisera la syntaxe
<!DOCTYPE biblio[ suivante :
<!ELEMENT biblio (livre)*>
<!ELEMENT livre (titre, auteur, <! ELEMENT Nom Modèle >
nb_pages)>
<!ATTLIST livre Le paramètre modèle représente soit un type de donnée
type (roman | nouvelles | poemes | prédéfini, soit une règle d'utilisation de l'élément.
théâtre) #IMPLIED
lang CDATA "fr" Les types prédéfinis utilisables sont les suivants :
>
<!ELEMENT titre (#PCDATA)>
Type
<!ELEMENT auteur (#PCDATA)> Description
prédéfini
<!ELEMENT nb_pages (#PCDATA)>
<biblio> L'élément ne contient pas de données
EMPTY
……… spécifiques
</biblio> L'élément doit contenir une chaîne de
#PCDATA
caractères
DTD externe
a) Un élément vide est, comme son nom l'indique, un
Les deux types de DTD externes sont les DTD de type
élément qui n'a aucun contenu -que ce soit de type
public et les DTD de type system. Le mot-clef SYSTEM
texte, ou bien un -autre élément. Le mot-clef utilisé pour
indique que le fichier spécifié se trouve sur l'ordinateur
la déclaration de ce type d'élément est EMPTY :
local et qu'il est disponible uniquement à titre privé. Le
<!ELEMENT elt EMPTY>
mot-clé PUBLIC indique une ressource disponible pour
tous sur un serveur distant.
Exemple d'utilisation : <elt />
Exemple de déclaration de DTD externe de type
SYSTEM : Un élément vide peut cependant fort bien posséder un
<!DOCTYPE biblio SYSTEM "bibliographie.dtd"> ou plusieurs attributs. Par exemple
<img width="100" height="30" src="paysage.jpg"
alt="Paysage de neige" />
Le fichier associé est le suivant :
<!ELEMENT biblio (livre*)>
<!ELEMENT livre (titre, auteur, b) Un élément nommé Nom contenant un type
nb_pages)> #PCDATA sera déclaré de la façon suivante dans la
<!ATTLIST livre DTD :
type (roman | nouvelles | poemes |
théâtre) #IMPLIED <! ELEMENT Nom (#PCDATA) >
lang CDATA "fr"
>
4
ENI Dr RV
Exemple d'utilisation valide : Cet exemple déclare un attribut format d'un élément
<elt0> img. La valeur de cet attribut peut être PNG, GIF ou
<elt2>(...)</elt2> JPEG. Si aucune valeur n'est affectée à cet attribut,
<elt3>(...)</elt3> c'est la valeur par défaut qui le sera, ici PNG. On notera
<elt1>(...)</elt1> l'absence de guillemets dans la liste des valeurs
</elt0> possibles. En ajouter est une erreur courante dans la
rédaction d'une DTD.
Dans ce dernier cas, il n'y a pas de contrainte visible sur Un autre exemple concerne une déclaration d'attribut du
l'ordre d'apparition des éléments. C'est la déclaration la type :
plus souple possible. <! ATTLIST disque IDdisk ID #REQUIRED type(K7|
MiniDisc|Vinyl|CD)"CD" >
Déclarer des attributs
Ce qui signifie que l'on affecte à l'élément disque deux
a) Valeurs par défaut attributs IDdisk et type. Le premier attribut est de type
Chaque attribut peut être requis, optionnel ou fixe et atomique, il s'agit d'un identifiant unique obligatoire.
avoir une valeur par défaut. Les exemples suivants L'élément type peut être soit K7, MiniDisc, Vinyl ou CD,
montrent la déclaration d'un attribut appelé attr attaché sachant que ce dernier sera affecté par défaut...
à un élément nommé elt.
6
ENI Dr RV
c) Type ID
Ce type sert à indiquer que l'attribut en question peut
servir d'identifiant dans le fichier XML. Deux éléments
ne pourront pas posséder le même atribut possédant la
même valeur.
Avantages