Les espaces de noms XML associent les noms d'éléments et d'attributs dans un document XML à des URI prédéfinis et personnalisés. Pour créer ces associations, définissez des préfixes pour des URI d'espace de noms et utilisez ces préfixes pour qualifier des noms d'élément et d'attribut dans des données XML. Les espaces de noms empêchent les conflits entre les noms d'élément et d'attribut et permettent aux éléments et attributs de même nom d'être gérés différemment et validés différemment.
Déclaration d'espaces de noms
Pour déclarer un espace de noms sur un élément, utilisez l'attribut xmlns: :
xmlns:<name>=<"uri">
où <name> est le préfixe de l'espace de noms et <"uri"> fait référence à l'URI qui identifie l'espace de noms. Une fois que vous avez déclaré le préfixe, vous pouvez l'utiliser pour qualifier des éléments et des attributs dans un document XML et les associer à un URI d'espace de noms. Le préfixe de l'espace de noms étant utilisé dans la totalité d'un document, il doit être court de préférence.
Cet exemple définit deux éléments BOOK. Le premier élément est qualifié par le préfixe mybook, tandis que le deuxième élément est qualifié par le préfixe bb. Chaque préfixe est associé à un URI d'espace de noms différent :
Pour indiquer qu'un élément fait partie d'un espace de noms particulier, ajoutez-lui le préfixe de l'espace de noms. Par exemple, si un élément Author appartient à l’espace de noms mybook, il est déclaré en tant que <mybook:Author>.
Portée de la déclaration
Un espace de noms est effectif à partir de son point de déclaration jusqu'à la fin de l'élément dans lequel il a été déclaré. Dans cet exemple, l'espace de noms défini dans 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 :
Un espace de noms doit être déclaré avant de pouvoir être utilisé, mais cela ne signifie pas qu'il doit apparaître tout en haut du document XML.
Lorsque vous utilisez plusieurs espaces de noms dans un document XML, vous pouvez définir un espace de noms comme l'espace de noms par défaut afin de créer un document plus clair. L'espace de noms par défaut est déclaré dans l'élément racine et s'applique à tous les éléments non qualifiés dans le document. Les espaces de noms par défaut s'appliquent uniquement aux éléments, pas aux attributs.
Pour utiliser l'espace de noms par défaut, omettez le préfixe et le signe deux-points de la déclaration sur l'élément :
La classe XmlNamespaceManager stocke une collection d’URI d’espace de noms et leurs préfixes, et vous permet de rechercher, d’ajouter et de supprimer des espaces de noms dans cette collection. Dans certains contextes, cette classe est indispensable pour améliorer les performances de traitement XML. Par exemple, la classe XsltContext utilise XmlNamespaceManager pour la prise en charge de XPath.
Le gestionnaire d'espaces de noms n'effectue aucune validation sur les espaces de noms, mais part du principe que les préfixes et les espaces de noms ont déjà été vérifiés et qu’ils sont conformes à la spécification du W3C sur les espaces de noms.
Voici quelques tâches de recherche et de gestion que vous pouvez effectuer avec la classe XmlNamespaceManager. Pour obtenir plus d'informations et des exemples, suivez les liens à la page de référence de chaque méthode ou propriété.
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner des problèmes et des demandes de tirage (pull requests). Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Rejoignez la série de rencontres pour créer des solutions d’IA évolutives basées sur des cas d’utilisation réels avec d’autres développeurs et experts.