Vous êtes sur la page 1sur 35

Université Blida 1

Deuxième Année Licence Informatique (L2 )

Module: Développement des


applications Web

Cours 4: Introduction à XML


Disponible sur: https://sites.google.com/a/esi.dz/fz-
zahra/developpement-des-applications-web/2018-2019/cours

FZ. Zahra
f_zahra@esi.dz
Année universitaire 2019-2020
Plan du cours

Fondements de la technologie XML


Modélisation et validation des documents XML
Contextes d’utilisation
Les API pour XML
XML Origine

Accroitre le potentiel du WEB


Standards et Normes
Besoin des Techniques, langages et architectures pour
l’échange de documents sur le WEB.
Langages de représentation de documents

Par ordre chronologique:

SGML (Norme ISO 8879 en 1986, révisée en 1988 et 1994):


Méta-langage général
HTML (Standard W3C depuis 1989):
Structure générale figée
XML (Standard W3C depuis 1998):
Méta-langage simplifié compatible SGML
XML, qu'est-ce que c'est ? (1)

XML= un nouveau langage d'échange basé sur le balisagepour la


description de documents structurés (eXtensible Markup Language
www.w3c.org/XML)
XML= plus simple que SGML
XML= plus ouvert que HTML
XML = développé par XML Working Group
dirigé par le W3C (depuis 1996)
XML 1.0 = recommandation officielle du W3C depuis le 10
février 1998
XML, qu'est-ce que c'est ? (2)

balises descriptives (signification des données)


plutôt que procédurales (présentation des données)
libre, indépendant des plateformes logicielles ou matérielles
XML est extensible: ne contient pas un ensemble fixé de balises
les documents XML doivent être bien formés suivant une syntaxe
définie, et peuvent donc être formellement validés
XML est particulièrement adapté à l'échange de données et de
documents.
XML, qu'est-ce que c'est ? (3)

L’extraction des données d’un document XML se fait à l'aide d'un


outil appelé analyseur syntaxique (en anglais parser, ou parseur)
qui permet :
d'extraire les données d'un document XML (analyse du
document ou parsing)
éventuellement, de vérifier la validité du document.
2 concepts fondamentaux
Structure et présentation sont séparés
Les balises ne sont pas figées
Un Document: Exemple

[4]
Structure logique d’un document

[4]
Structure physique d’un document

[4]
Structure Générale d’un document XML (1)

[2]
Structure Générale d’un document XML (2)

[2]
Contenu d'un document XML

Contenu d'un document XML :

Un prologue ou en-tête (déclarations)


Suivit d'un (SEUL) arbre d'éléments (balises)
Des commentaires
Un document XML qui respecte les règles syntaxique est dit bien formé.
Il est utilisable sans DTD (La grammaire de notre document XML)
Un document XML bien formé qui respecte sa DTD est dit valide.
Il est plus facile d'écrire des feuilles de style (XSL) pour les documents
valides !

[2]
Spécification d’un document XML

Résumé des spécifications :

Un document doit commencer par une déclaration XML

Toutes les balises avec un contenu doivent être fermées


Toutes les balises sans contenu doivent se terminer par les caractères />
Le document doit contenir un et un seul élément racine
Les balises ne doivent pas se chevaucher
Les valeurs d’attributs doivent être entre guillemets
La casse doit être respectée pour toutes les occurrences de noms de balise.

Un document respectant ces critères est dit “bien formé”

[2]
XML : le prologue

La première déclaration (qui est optionnelle) permet de définir la


version et le codage
du document.
<?xml
version="1.0"
encoding="iso-8859-1"
standalone="yes" (=> pas besoin de DTD externe)
?>
L'encodage est basé sur la norme ISO 10646 (www.unicode.org).
XML comprend automatiquement l'encodage UTF-8 et UTF-16
(UTF-8 est l'encodage par défaut).

[2]
XML : les commentaires

en XML les commentaires se notent :


<!-- texte du commentaire -->

Les contraintes d'utilisation sont


* pas de double tirets dans le texte,
* pas de commentaire dans un élément (l'exemple ci-dessous est
incorrect),
<produit
nom="DVD"
prix='100' <!-- en euros -->
/>
* les commentaires sont ignorés (plus ou moins)

[2]
XML : les balises (éléments) (1)

Forme générale :
<nom_d_élément> contenu </nom_d_élément>

• Les noms sont libres (contrairement à HTML). Ils obéissent à


quelques règles:

* 1er caractère { alphabétique, «-», «_» },


* les autres caractères { alphabétique, chiffre, «-», «_», «:» }.
* pas de blanc,
* «xml» au début est interdit (maj./min.).
• La balise de fermeture est obligatoire.

[2]
XML : les balises (éléments) (2)

Le contenu d'un élément peut être


* vide (<toc></toc> ou <toc/>),
* du texte (sauf «<» et «&») basé sur l'encodage,
* un ou plusieurs éléments complets
<toc> ... </toc>
* une répétition de textes et d'éléments,
<article> Le langage <def>XML</def> contient <liste>
<élément> du texte, </élément>
<élément> des éléments, </élément>
</liste></article>
* Les blancs comptent: <a> X </a> est différent de <a>X</a>.
* Les deux systèmes de codage des ruptures de lignes sont pris en
charge.

[2]
XML : arbre d'éléments (1)

[4]
XML : arbre d'éléments (2)

[4]
XML : les attributs

Quand utiliser les attributs?


- Valeur unique de type simple (information monovaluée)
• Quand utiliser les éléments?
- Valeur de type complexe (énumérations, possède des propriétés)

[4]
Exercice
Donnez une version structurée du document suivant:
Une bouteille d'eau Cristaline de 150 cl contient par litre 71 mg d'ions positifs
calcium,et 5,5 mg d'ions positifs magnésium. On y trouve également des ions
négatifs comme des chlorures à 20 mg par litre et des nitrates avec 1 mg par
litre. Elle est recueillie à St-Cyr la Source, dans le département du Loiret. Son
code barre est 3274080005003 et son
pH est de 7,45. Comme la bouteille est sale, quelques autres matériaux comme
du fer s'y trouvent en suspension.
Une seconde bouteille d'eau Cristaline a été, elle, recueillie à la source d'Aurèle
dans les Alpes Maritimes. La concentration en ions calcium est de 98 mg/l, et en
ions magnésium de 4 mg/l. Il y a 3,6 mg/l d'ions chlorure et 2 mg/l de nitrates,
pour un pH de 7,4. Le code barre de cette bouteille de 50 cl est 3268840001008.
Une bouteille de même contenance est de marque Volvic, et a été puisée à...
Volvic, bien connu pour ses sources donnant un pH neutre de 7. Elle comprend
11,5 mg/l d'ions calcium, 8,0 mg/l d'ions magnésium, 13,5 mg/l d'ions chlorures
et 6,3 mg/l d'ions nitrates. Elle contient également des particules de silice. Son
code barre est 3057640117008.

[4]
Solution

[4]
Validation d’un document XML : DTD (Document Type
Definition)

Un document XML peut être associé à :


– une DTD ou un schéma pour décrire les balises
– Une feuille de style pour présenter les données
Une DTD ou/et un schéma permettent de définir son propre
langage basé sur XML
– Vocabulaire (balises)
– Grammaire (imbrications)
Dialecte ou Jargon

[4]
Validation d’un document XML : DTD (Document Type
Definition)

Document bien formé (Well Formed document)


– Guillemets (ou apostrophes) obligatoires autour des valeurs
<adresse id=‘2’ type=‘domicile’/>
– Les éléments vides utilisent une notation spécifique
<image src=‘image3.gif’/> <image
src=‘image3.gif’></image>
– Les balises doivent être correctement imbriquées
<b><i> NON ! </b></i>
– Le document a une seule racine
– Un attribut est unique dans son élément
Document valide (Valid document)
– bien formé + conforme à la DTD ou au schéma qui lui est
associé

[4]
DTD

Permet de définir le «vocabulaire» et la structure qui seront


utilisés dans le document XML
• Grammaire du langage dont les phrases sont des documents
XML (instances)
• Peut être mise dans un fichier (DTD externe) et être appelée
dans le document XML

[4]
DTD: Exemple

[4]
DTD: Exemple

[4]
Structure d’une DTD

[4]
Exercice 1
Solution
Solution (suite)
Exercice 2
Solution
Sources

1. Alexandre Brillant, XML cours et exercices, 2nd Ed. ÉDITIONS EYROLLES, 2007.
2. Cours de eXtensible Mark-up Language: Introduction au langage XML (XML, DTD,
XML-Schema) , Novembre 2013.
3. Olivier Carton, L'essentiel de XML: Cours XML, Support du cours XML en M2 Pro à
l'Université Paris Diderot, Version du 16/03/2013, Copyright © 2007-2013 Olivier
Carton.
4. Tarak CHAARI , XML: eXtensible Markup Language, Dpt Télécommunications, INSA.