Cours XML.
Réponse AJAX

Objectif du cours...

Petite présentation de XML,
comparaison entre XML et HTML

Pour commencer, voici un exemple de document XML :

On remarque à travers cet exemple que :

Présentation détaillée de XML

XML signifie eXtensible Markup Language. La norme XML est définie par le W3C (World Wide Web Consortium, www.w3.org), depuis 1996.

Le XML, en tant que métalangage, permet de créer de nouveaux langages. On peut soit-même créer notre propre langage pour nos applications personnelles. Voici des exemples de langages créés à partir de XML et universellement utilisée, des exemples propriétaires et personnels :

XML, en soi, ne permet pas de faire grand chose ! Il permet en fait uniquement de décrire des données sous une forme bien structurée, mais pas la façon dont elles sont représentées. Pour dire comment un document XML doit s'afficher dans un navigateur, on a recourt à d'autres technologies (CSS, XSL ou XSLT).

La syntaxe du XML,
notion de document "bien formé"

Comme on l'a déjà dit, le XML obéit à une syntaxe très stricte (beaucoup plus que celle du HTML). La moindre erreur entraînera l'affichage, dans le navigateur, d'une erreur de syntaxe, en lieu et place du document.


Un tel document est dit mal formé. Un document qui obéit aux règles syntaxiques est dit bien formé.

Voici les règles de syntaxe à respecter pour qu'un document soit bien formé :

Rappel sur une erreur fréquente...

Les balises XML (comme en HTML) ne peuvent pas contenir d'espace. Par exemple, si je vois :

<table border>

Je sais qu'il s'agit de la balise table et de l'attribut border, et non pas de la balise table  border, ce qui est syntaxiquement impossible.

Soit le document XML suivant :

< ?xml version="1.0" ?> <informations>   <auteur type=salarie>Bob</auteur>   <texte>Une nouvelle information</texte> </information> Est-ce qu'il est bien formé (si non, donnez la liste des erreurs) ?
Votre réponse n°1

Réécrivez le document bien formé :

Votre réponse n°2

Dites combien vous voyez d'erreurs qui font que ce document est mal formé, relevez et expliquez chacune des erreurs :

< ?xml version="1.0" encoding="iso-8859-1" ?> <client type=professionnel>   <nom>Rorjak</nom>   <prénom>Marcel</prénom>   <adresse-postale>5 route des "Francs-tireurs", 13001 Marseille</Adresse-postale>   <date-adhesion>19/04/2007</date-adhesion> </client> <client>   <nom>Dubois</nom>   <prénom>Albert</prénom>   <adresse>albert.dubois@free.fr</adresse>   <telephone portable="06 11 23 95 45" fixe="09 62 45 78 51">   <date-adhesion></date-adhesion>   <_facture_>...</_facture_> </client>
Votre réponse n°3

Les éditeurs XML

Exercices

Un film est caractérisé par un titre, éventuellement un titre original. Il est réalisé par une personne, parfois plusieurs. Il y a plusieurs acteurs, sauf dans certains cas (par exemple les documentaires), où il n'y a aucun acteur. Le film possède (en attribut, et non pas en balise) un genre qui est soit « fiction », « anime » ou « documentaire » (il n'y a pas d'autres valeurs possibles). On souhaite créer un document XML qui représente une liste de films. Dessinez le shéma qui représente la structure arborescente d'un tel document.

Votre réponse n°4

Ecrivez le fichier XML (y compris la ligne d'en-tête XML) représentant ce film :

Votre réponse n°5

On souhaite représenter le fichier de personnes suivant :

Une personne a un nom, un prénom, et une adresse postale, éventuellement une adresse mail. Elle peut avoir un ou plusieurs numéros de téléphone (on représente le type de numéro sous la forme d'un attribut : portable, fixe, bureau). Si l'attribut n'est pas précisé, c'est qu'il s'agit du portable. Pour les besoins des traitements, l'adresse postale doit être décomposée en n°, rue, code postal et ville. Une personne est soit un homme, soit une femme, ceci doit être représenté sous forme d'un attribut obligatoire ("M" ou "F").

Ecrivez un fichier XML qui contient les personnes suivantes :

Votre réponse n°6

Lien avec l'épreuve de spécialité

Les épreuves de spécialité suivantes contiennent du XML :