Partager via


Portée d'une déclaration d'espace de noms

Les déclarations d'espaces de noms ont une portée. Cela signifie que les espaces de noms peuvent figurer à n'importe quel endroit du document mais ils possèdent une portée comme des variables de programmation, et les espaces de noms sont destinés à leur portée appropriée. Il existe deux types de portée, par défaut et qualifiée.

Un espace de noms par défaut est un espace de noms déclaré dans l'élément racine. Il s'applique à tous les éléments non qualifiés du document. Un espace de noms qualifié est un espace de noms déclaré lorsqu'un espace de noms plus spécifique substitue dans un endroit du document.

Bien qu'un espace de noms doive être déclaré avant de pouvoir être employé, cela ne signifie pas qu'il doit apparaître tout en haut du document XML. Ainsi, l'exemple suivant illustre un espace de noms qualifié déclaré au milieu des données, au niveau de l'élément BOOK, et l'espace de noms s'applique uniquement à tous ses descendants.

<Author>Joe Smith</Author>
<BOOK xmlns:book="https://www.contoso.com">
    <title>My Wonderful Day</title>
      <price>$3.95</price>
</BOOK>
<Publisher>
    <Name>MSPress</Name>
</Publisher>

L'espace de noms défini au niveau de l'élément BOOK ne s'applique pas aux éléments situés en dehors de l'élément BOOK, tels que l'élément Publisher. Quand un espace de noms apparaît dans un document, cela implique que l'espace de noms déclaré est effectif à partir de ce point de déclaration jusqu'à la fin de l'élément, où il a été déclaré.

Si un espace de noms était déclaré pour l'élément Publisher, ce dernier devait être qualifié complet et, pour cela, l'espace de noms et le signe deux-points doivent précéder l'élément. Prenons l'exemple de l'élément Publisher qui appartient à l'espace de noms mybook , il est déclaré comme <mybook:Publisher>.

Voir aussi

Concepts

Espaces de noms dans un document XML

Déclarations d'espaces de noms

Espaces de noms par défaut

Gestion des espaces de noms à l'aide de XmlNamespaceManager

Informations obtenues de XmlNamespaceManager