2. 08/10/2009
Langage de marquage
(Markup Language)
Un langage de marquage est un langage qui
définit les règles de marquage qui donnent une
signification à la structure et au contenu des
documents.
Ces règles définissent la grammaire et la
syntaxe du langage.
Exemples de langages de marquage :
HTML
XML 2
2
4. 08/10/2009
Éléments
Les éléments sont les blocs de données
principaux des documents XML et HTML.
Exemples d'éléments HTML: "body" et
"table".
Exemples d'éléments XML: "livre" et "isbn".
Les éléments peuvent contenir du texte,
d'autres éléments, ou être vides.
Exemples d'éléments HTML vides: "hr", "br"
et "img". 4
4
5. 08/10/2009
Attributs
Les attributs fournissent de l'information
additionnelle concernant les éléments.
Exemple :
<IMG SRC="ordinateur.gif" />
<nourriture cholesterol="30mg">frites</nourriture>
5
5
6. 08/10/2009
Entités
Les entités sont des abréviations.
Exemples :
< est l'abréviation prédéfinies du caractère <
Si la chaîne de caractères Extensible Markup
Language est déclarée comme une entité associée
à l'abréviation xml, la chaîne de caractères pourra
être abrégée en &xml; dans tout le document.
6
6
7. 08/10/2009
Historique des langages « Markup »
SGML (Standard Generalized Markup Language,
ISO standard en 1986)
meta-langage pour définir des langages de "markup"
HTML (application SGML + liens en 1990)
une application SGML avec très peu de balises (tags) fixes
XML (1997, -)
un meta-langage plus léger que SGML adapté au Web
permet la définition de langages adaptés à des besoins très
variés
7
7
8. 08/10/2009
Besoins …
On veut beaucoup maintenant, par exemple:
structurer de l’information
.... et la retrouver facilement
.... et l’imbriquer facilement dans des applications
faire des hypertextes puissants
afficher et imprimer de façon flexible et jolie
un format universel pour toute sortes de données et usages
diffuser/échanger/stocker/chercher/..... pas juste afficher
un meta-langage qui permet de créer des langages variés,
.... adaptés aux besoins, mais “propres”
8
8
9. 08/10/2009
Insuffisances de HTML
HTML a un ensemble pré-déterminé de balises
Il n'est pas possible de créer de nouvelles balises.
HTML est un langage de présentation
Les balises donnent des indications sur la manière
de présenter et non sur le contenu.
9
9
10. 08/10/2009
CSS
CSS : Cascading Style Sheet
CSS est utilisé pour définir les couleurs, les polices, le rendu,
et d'autres caractéristiques liées à la présentation d'un
document.
Séparer la structure et la présentation du document.
Avantages :
La structure du document et la présentation sont gérées
dans des fichiers
séparés.
Changement plus facile de la structure et du contenu,
Réduire la complexité de la structure d’un document,
Adapter le document au dispositif d’accès. 10
10
12. 08/10/2009
XML
eXensible Markup Language
Un méta langage permettant la définition de langages adaptés
à des besoins variés.
Extensible et évolutif : les balises ne sont pas prédéfinies.
XML = Puissance SGML + Succès HTML
Représentation de contenus indépendamment de toute
application.
Description, structuration, stockage et échange de données
Séparation entre contenu et forme.
Langage strict : Syntaxe rigoureuse.
Adaptation aux différents types de terminaux (PC, Pocket
PC…) 12
12
14. 08/10/2009
Applications XML
Langage de Schéma
XML Schema
Langage de Représentation
OpenDocument (Open Office)
MathML (Mathématique)
SVG (Scalable Vector Graphics)
Langage de programmation
XSLT (Transformation Document XML)
XPATH (Requête dans des BDs XML)
XAML (Définition Interface Windows Vista)
ANT (Script de compilation)
Protocole d’échange de données
SOAP (Simple Object Acces Protocol)
14
14
15. 08/10/2009
Exemple de document XML
<livre>
<titre> le super livre </titre>
<chapitre>
<numero> 1 </numero>
<titre> titre du chapitre 1 </titre>
<contenu> blabla blabla </contenu>
</chapitre>
<chapitre>
…
</chapitre>
</livre>
15
15
16. 08/10/2009
Éléments et balises
Tous les éléments doivent avoir une balise
d'ouverture et un balise de fermeture.
Exemple : <LIVRE> . . . </LIVRE>
La seule exception est l'élément vide (Empty
element) dans lequel il n'y a pas de contenu
d'élément et qui combine la balise ouvrante et
fermante.
Exemple : <prix Canada="$70.99"/>
16
16
17. 08/10/2009
Attributs
Les attributs sont à l'intérieur de la balise ouvrante
d'un élément.
Syntaxe :
attribut="valeur"
Exemple :
<LIVRE SUJET="XML">.
L'attribut SUJET de l'élément LIVRE a la valeur "XML".
En XML, les valeurs doivent toujours être encadrées
par des guillemets.
17
17
19. 08/10/2009
Entités générales
Les entités générales sont des variables utilisées pour
définir des chaînes de caractères.
Elles sont utilisées pour ne pas avoir à taper de
longues chaînes de caractères plusieurs fois dans un
document.
Exemple :
&xml; pour "Extensible Markup Language"
Note :
Si la chaîne de caractères doit être modifiée, on la modifie
seulement une fois.
19
19
20. 08/10/2009
Entités de paramètre
Les entités de paramètre sont pré-définies dans XML
Entité de paramètre Caractère
< <
> >
& &
" "
' '
20
20
21. 08/10/2009
Contenu d’un document XML (1/2)
Un document XML est composé d'éléments.
Chaque élément présente des caractéristiques appelées
attributs :
<titre type="policier">Mort sur le Nil</titre>
DTD Document Type Definition :définissent les éléments et
les règles d'utilisation (noms des éléments, attributs possibles
pour un élément, imbrications)
Si un document a une DTD associée et qu'il se conforme à cette DTD,
il est dit valide.
S'il n'a pas de DTD et qu'il suit les règles définies par XML (par
exemple : ses éléments sont correctement imbriqués) il est bien formé.
21
21
22. 08/10/2009
Contenu d’un document XML (2/2)
Un document XML peut ne pas avoir de DTD,
un tel document définit son propre balisage de
manière informelle. Il doit cependant être bien
formé, sinon il ne sera pas affiché par un
navigateur.
22
22
23. 08/10/2009
Arbre d’éléments d’un document XML
<?xml version="1.0"?>
<bibliotheque>
<livre>
<titre>N ou M</titre> Racine
Élément Parent
<auteur>Agatha</auteur>
<ref>Policier-C-15</ref>
</livre> bibliotheque
<livre>
<titre>A</titre>
livre article
<auteur>Arthur</auteur>
<ref>Policier-D-3</ref>
titre auteur ref
</livre>
</bibliotheque>
Élément Fils
23
23
24. 08/10/2009
A-t-on besoin de feuille de style?
Le document ne contient aucune information concernant
l'affichage, c'est sa feuille de style qui définira la présentation
sur un média (Téléphone, PC, etc.).
Lorsqu'aucune précision n'est donnée quant à l'affichage (pas
de feuille de style) la navigateur affichera le contenu du
document XML.
CSS : Cascading StyleSheet
XSL : XML StyleSheet Language
24
24
25. 08/10/2009
Structure d’un document XML (1/2)
Un document XML comporte :
un prologue qui contient toutes les informations autres que
les données ou les éléments :
Déclaration XML,
DTD,
instructions de traitements : <?xml-stylesheet type="text/css"?>
l'arbre des éléments avec un élément racine
Un élément possède un nom et un contenu
éventuellement des commentaires :
<!-- commentaire -->
25
25
26. 08/10/2009
Structure d’un document XML (2/2)
<? xml version = "1.0" ?>
<? xml-stylesheet href = « biblio.xsl " type = "text/xsl" version = "1.0" ?>
<! DOCTYPE adresses SYSTEM " biblio.dtd"> Entête du document
<bibliotheque>
<livres>
<livre isbn= « 01ZE" >
<titre>XML pour les nuls</titre>
<auteur>jean fournier</auteur>
</livre>
Corps du document
</livres>
</bilbliotheque>
26
26
27. 08/10/2009
Document XML Bien formé (1/2)
il contient une déclaration XML
il contient un ou plusieurs éléments
il contient un élément racine encapsulant tous les autres
éléments et leurs attributs (ex <HTML> ... </HTML>)
les éléments non vides ont une balise de début et de fin
les éléments non vides sont correctement imbriqués (<P>
<EM> ... </EM> </P>)
les éléments vides ont un / à la fin de la balise avant le >
les noms des balises ouvrantes et fermantes correspondent
27
27
28. 08/10/2009
Document XML Bien formé (2/2)
un nom d'attribut apparaît uniquement dans la balise ouvrante et une seule
fois dans cette balise
les valeurs des attributs sont entre guillemets ou apostrophes
les caractères réservés sont remplacés par des références d'entités (par ex.
< pour <)
s'il n'y a pas de DTD, les seules entités utilisées sont celles réservées de
XML & < > ' "
s'il y a une DTD toutes les entités non réservées utilisées sont déclarées
dans la DTD.
28
28
29. 08/10/2009
Document XML Valide
Un document est valide s'il :
est bien formé
fait référence à une DTD ;
se conforme à la DTD.
29
29