Cours Structuration d'un document XML
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
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>
<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>