Vous êtes sur la page 1sur 10

07/02/2024 01:42 Cours Structuration d'un document XML

Cours Structuration d'un document XML

PLATEFORME DE MUTUALISATION DES Imprimé par: Visiteur anonyme


Site:
ENSEIGNEMENTS TRANSVERSAUX Date: mercredi 7 février 2024, 01:41
Cours: L3 D2A : Technologies XML
Livre: Cours Structuration d'un document XML

https://ifoad.uadb.edu.sn/mutualisation/mod/book/tool/print/index.php?id=1669 1/10
07/02/2024 01:42 Cours Structuration d'un document XML

Description

Consigne: ce document contient l'essentiel de ce qu'il faut lire pour réaliser les activités dans cette séquence du cours.

-Chaque étudiant est invité à le lire et se l'approprier avant de démarrer les activités prévues

https://ifoad.uadb.edu.sn/mutualisation/mod/book/tool/print/index.php?id=1669 2/10
07/02/2024 01:42 Cours Structuration d'un document XML

Table des matières


1. Présentation de XML

2. Principe du Langage XML

3. Format d'un document XML

4. Entité XML

5. Espaces de nom

https://ifoad.uadb.edu.sn/mutualisation/mod/book/tool/print/index.php?id=1669 3/10
07/02/2024 01:42 Cours Structuration d'un document XML

1. Présentation de XML
Le Langage XML (eXtensible Markup Language) est une spécification du W3C depuis Février 1998. Il n'est pas une nouveauté, mais
une succession d'un ensemble de technologies tels que le SGML et le HTML.

Contrairement à HTML, XML permet de structurer des données en utilisant ses propres balises, ce qui fait de lui un langage
extensible et en employant un format texte comme support. Par exemple l'information: L'étudiant Moussa Gaye habitant bambey et
agé de 18 ans peut être décrite sous forme d'un document XML comm suit:

<etudiant>

<nom>GAYE</nom>

<prenom>Moussa</prenom>

<adresse>Bambey</adresse>

<age>18</age>

</etudiant>

Dans cet exemple <etudiant>, <nom>, <prenom>, <adresse> et <age> sont des éléments, balises ou tags. Les balises sont des
chaînes de carractères unicode, encadrées par les carractères "<" et ">". Entre une balise de début <etudiant> et la balise de fin
correspondante </etudiant>, on peut trouver du texte et/ou d'autres balises.

Lorsque des éléments sont imbriqués dans d'autres éléments, ils génèrent des structures arborescentes.

https://ifoad.uadb.edu.sn/mutualisation/mod/book/tool/print/index.php?id=1669 4/10
07/02/2024 01:42 Cours Structuration d'un document XML

2. Principe du Langage XML


La possibilité qu'offre XML de définir ses propres balises n'est pas sans conséquences. Lorsque deux apllications par exemple
échangent des informations. Il est en effet nécessaire de définir des règles que les documents doivent respecter. Sans cela, il est
impossible d'échanger ou de traiter de manière automatique les documents.

Comme tout langage, pour se comprendre, il est impératif de définir un vocabulaire qui est l'ensemble des noms de balises
utilisables, mais aussi une grammaire qui fixe la relation qui existe entre ces différentes balises (leur imbrication) et leurs natures
(simples ou complexes).

Les processeurs XML sont des programmes permettant de vérifier que des documents XML sont bien formés.

Ils traitent le contenu des éléments de manière déterministe. On parle aussi d’analyseurs syntaxiques XML (XML parsers)

Le fonctionnement d’un processeur XML peut être décrit de la manière suivante :

À la rencontre d’une balise de début, entrer dans l’état de traitement de cette balise
À la rencontre de la balise de fin correspondante, sortir de cet état et revenir à l’état précédent
S’il n’y a pas d’état précédent, alors on vient de quitter l’état de traitement de l’élément racine : par conséquent, le document est
bien formé.
Si une balise de fin ne correspond pas à l’état en cours, le document est mal formé

Quelques exemples:

mauvaise imbrication
<personne>

<nom><prenom></nom></prenom>

</personne>

sensibilité à la casse
<personne></Personne>

balise non fermée


<personne>

<nom><prenom></prenom>

<personne>
Quelques exemples de langage basés sur XML:

MathML Mathematical Markup Language notation mathématique sur le web


CML Chemical Markup Language pour la publication Internet des formules chimiques, de molécules
VML Vector Markup Language langage de balisage d'information graphique vectorielle
SMIL Synchronized Multimedia Integration Language pour la création multimédia, il spécifie comment et quand des éléments
multimédia peuvent apparaître dans une page web
WML Wireless Markup Language le langage de balisage pour l'internet mobile

https://ifoad.uadb.edu.sn/mutualisation/mod/book/tool/print/index.php?id=1669 5/10
07/02/2024 01:42 Cours Structuration d'un document XML

3. Format d'un document XML


La structure logique d'un document XML peut être représsentée sous forme d'une arborescence hierrachique et ordonnée.

Le document XML a un élément racine contenant un ensemble d'éléments simples (en vert ici: c'est des éléments qui ne peuvent
contenir d'autres éléments, ils constituent les feuilles de l'arbre) et complexes (en bleu ici, c'est des éléments pouvant contenir
d'autres).

En plus des éléments, le document peut contenir éventuellement des déclarations contenues dans le préambule, des
commentaires et d'instructions de traitement.

Le préambule n'est pas obligatoire, mais lorsqu'il est présent, doit préceder le corps du document XML (la partie délimitée par
l'élément racine). Il peut contenir la déclaration XML, la déclaration du type de document et des instructions de taritement.

Déclaration XML: <?xml version='1.0" encoding="ISO-8859-1" ?>.

La spécification XML précise qu'elle doit être placée au début d'un document XML. Elle renseigne sur trois choses:

version: qui donne des informations sur la version XML utilisée (ici 1.0);

enconding: qui précise le type de codage utilisé, c'est à dire les jeux de caractères permis. par exemple si encoding="UTF-8" (le
document accepte les jeux de carratères universel sur 8 bit; s'il est égale à "ISO-8859-1", il s'agit du latin1(langues d'Europe de
l'ouest et de l'Amerique latine);

https://ifoad.uadb.edu.sn/mutualisation/mod/book/tool/print/index.php?id=1669 6/10
07/02/2024 01:42 Cours Structuration d'un document XML
standalone: spécifie que le document est autonome ou pas. Lorsque sa valeur est égale à "yes", cela signifie que tout ce qui
permet de valider le document se trouve en lui même; "no" dans le cas contraire.
Déclaration du type de document: Elle est obligatoire pour la validation du document XML. Elle permet de référencer deux
sortes d'entité que sont la définition du type de document (DTD) et les entités autres que les DTD. Exemple: <!DOCTYPE
personnes SYSTEM "document.dtd" >.
Instructions de traitement: Elles sont destinées aux applications qui manipulent les documents XML. Par exemple
l'instruction <?xml-stylesheet type="text/css" href="presentation.css" ?> dans un document indique au navigateur de présenter les
données XML en appliquant la feuille de style "presentation.css".

Le reste du document (à partir de l'élément racine) contient l'instance de la base de données XML. C'est la partie la plus dynamique,
car à tout moment on peut supprimer, mettre à jour ou ajouter un nouveau élément.

https://ifoad.uadb.edu.sn/mutualisation/mod/book/tool/print/index.php?id=1669 7/10
07/02/2024 01:42 Cours Structuration d'un document XML

4. Entité XML
Les entités XML sont des fragments nommés d'un document XML. Ils doivent être définis dans l'entête du document ou dans le DTD
et peuvent être référencées à une ou plusieurs fois. On peut les utiliser pour gagner du temps dans les mises à jour, mémoriser des
caractères parculiers ou des phrases fréquentes. On distingue plusieurs types d'entités:

Entité paramètre: elle n'apparait que dans les définitions des DTD et permet d'associer un alias à une partie de la déclaration des
DTD. Sa syntaxe est la suivante: <!ENTITY % nom "valeur">. Pour utiliser l'entité paramètre dans notre DTD, il suffit de faire
%nom;.
Entité générale: Elle permet d'associer un alias à une information afin de pouvoir l'utiliser dans le document XML. Sa syntaxe est
la suivante: <!ENTITY nom "valeur">. Pour l'utiliser, il suffit de l'appler avec &nom;.
Il existe aussi des entités carractères, qui permmettent de substituer par exemples des carractères non disponibles sur la station
de travail ( par exemple © s’écrit &#169;) et des entités prédéfinies comme les délimiteurs XML (< (&lt;) > (&gt;) ...).

Des exemples d'entités sont disponibles ici

Par exemple :

<!ENTITY % ident ID #REQUIRED>

<!ENTITY D2AW "Développement et Administration d'Applications Web">

<!ENTITY part1 SYSTEM "mon_site/part.xml">

Pour faire référence à ces entités dans un document, on fait par exemple:

<!ATTLIST renvoi cible %ident> au lieu de : <!ATTLIST renvoi cible ID #REQUIRED>

https://ifoad.uadb.edu.sn/mutualisation/mod/book/tool/print/index.php?id=1669 8/10
07/02/2024 01:42 Cours Structuration d'un document XML

5. Espaces de nom
L'importation d'éléments externes dans un document n'est pas sans conséquence.

Lorsque nous avons dans un même document XML, des éléments qui sont au même niveau, qui portent le même nom et qui sont
différents du point de vue sémantique, il y a conflit de noms.

Ces conflits peuvent être évités en utilisant les espaces de nom. Les espaces de nom sont un moyen d'identifier de façon universelle
les noms d'élément utilisés dans un document.

Les espaces de nom peuvent définis par défaut ou avec des préfixes.

La déclaration d'un espace de nom par défaut se fait avec l'attribut:

xmlns="URI de l'espace de noms"

Exemple:

<?xml version="1.0" encoding="UTF-8" ?>

<dossier>

<!-- la dénomination suivante désigne un étudiant -->

<dénomination xmlns="http://uadb.edu.sn/etudiants">

Abdou Gaye

</dénomination>

<!-- la dénomination suivante désigne un diplôme -->

<dénomination xmlns="http://uadb.edu.sn/diplomes">

Mastère

</dénomination>

<!-- la dénomination suivante désigne une matière -->

<dénomination xmlns="http://uadb.edu.sn/matieres">

Informatique

</dénomination>

</dossier>

La déclaration d'un espace par préfixe se fait en utilisant la notation suivante:

xmlns:préfixe="URI de l'espace de noms"

Exemple:

<base xmlns:liv="monSite/dtdLivre.xml">

<!-- Ici les livres sont définis avec un espace de nom préfixé-->

<liv:livre>

<liv:titre>Une si longue lettre</liv:titre>

https://ifoad.uadb.edu.sn/mutualisation/mod/book/tool/print/index.php?id=1669 9/10
07/02/2024 01:42 Cours Structuration d'un document XML
<liv:auteur>Mariama BA</liv:auteur>

<liv:editeur> Nouvelles éditions africaines</liv:editeur>

<liv:annee>1979</liv:annee>

<liv:livre>

<!-- Ici, les livres sont définis en local-->

<livre>

<titre>Une vie de boy</titre>

<auteur>Ferdinand Leopold OYONO</auteur>

<editeur> Éditions R. Julliard</editeur>

<annee>1956</annee>

</livre>

</base>

https://ifoad.uadb.edu.sn/mutualisation/mod/book/tool/print/index.php?id=1669 10/10

Vous aimerez peut-être aussi