• Home
  • Docker
  • Kubernetes
  • LLMs
  • Java
  • Ubuntu
  • Maven
  • Big Data
  • Archived
XML | Espaces de noms (namespaces)
  1. Les espaces de noms
  2. Espace de noms par défaut
  3. Utiliser des URIs pour définir des espaces de noms

  1. Les espaces de noms
    Un espace de nom permet d'identifier des éléments et des attributs dans un document XML.
    Les espaces de noms sont utiles lorsque le document XML est composé des données appartenant à des domaines et langages distinctes.
    En particulier, les espaces de noms peuvent servir pour distinguer des balises qui ont le même nom mais appartiennent à des domaines ou langages distinctes.

    Par exemple, un document XML peut contenir des balises du langage XSLT (stylesheet, template) ainsi que celles du langage HTML (html, body) :

    Un espace de noms est identifié par un préfixe (alias).
    Cet alias peut être utilisé pour qualifier une balise ou un attribut et ainsi les marqués comme appartenant à un espace de noms spécifique.

    Les balises et les attributs sont associés à un espace de noms en préfixant leurs noms par l'alias suivit par le caractère deux point ":" :

    Mais avant d'utiliser un alias d'un espace de noms, il faut le declarer.
    Par exemple, pour déclarer un espace de noms pour l'alias "xsl", il suffit d'associer cet alias à une valeur (en le préfixant par le mot clés "xmlns" suivit par le caractère ":").

    Le nom donné à l'alias peut être n'importe quelle chaîne de caractères et ne doit suivre aucune convention de nommage à part qu'il doit être un nom valide (voir règles de nommages de balises).
    Ainsi l'alias "xsl" peut être remplacé par "myxsl", ou n'importe quel nom.

    Si l'alias est utilisé pour qualifier un élément, alors cet alias doit être utilisé pour préfixer la balise ouvrante et fermante de l'élément.

    Si un élément n'a pas d'alias (exemple "<html>"), alors cet élément n'appartient à aucun espace de noms (à moins qu'un espace de noms par défaut a été définit, voir la section suivante).

    Il faut noter que l'espace de noms peut s'appliquer uniquement à l'élément où cet espace de noms est défini ainsi que les éléments descendants de cet élément.
  2. Espace de noms par défaut
    Un espace de noms par défaut permet d'associer tous les éléments d'un document XML qui ne sont pas préfixés à un espace de noms.
    Il ne peut y avoir plus qu'un espace de noms par défaut pour un élément.
    De même, il est possible qu'un document XML ne définisse pas d'espace de noms par défaut, et par conséquent les éléments qui ne sont pas préfixés n'appartiennent à aucun espace de noms.

    Pour définir un espace de noms par défaut, on utilise la même syntaxe vu ci-dessus mais sans spécifier un alias pour le mot clés "xmlns".

    Dans ce cas les éléments "<html>" et "<body>" (parce qu'ils n'ont pas de préfixe) appartiennent à l'espace de noms par défaut définit par la valeur "http://www.w3.org/1999/xhtml".

    Il est possible de déclarer un espace de noms directement dans un élément enfant :

    Il est possible d'associer un attribut à un espace de noms :

  3. Utiliser des URIs pour définir des espaces de noms
    Une URI (Uniform Resource Identifier) peut être utilisée sous forme de :
    • URL (Uniform Resource Locator)
      La première partie de l'URL spécifie le protocole, exemple http, suivie par le chemin d'accès à la ressource.


    • URN (Universal Resource Name)
      Une URN est composée des mots séparés par le caractère ":"

      Le premier mot est le mot clés : "urn"
      Le deuxième mot est l'identificateur de l'espace de noms (Namespace Identifier - NID) : "isbn"
      Le dernier mot et la valeur de l'espace de noms (Namespace Specific String - NSS) : "978-0470114872"

© 2025  mtitek