Que sont 'xmlns' et 'xsi:schemaLocation' dans les fichiers XML ?
Date de publication:
Mise à jour :
Articles > Que sont 'xmlns' et 'xsi:schemaLocation' dans les fichiers XML ?
Statut 2026 et utilisation sûre
Conclusion : xmlns lie un préfixe ou un espace de noms par défaut à un URI afin que les noms d'éléments restent sans ambiguïté. xsi:schemaLocation n'est qu'un indice qui associe les URI d'espace de noms aux emplacements de schéma ; le comportement de validation dépend toujours du processeur XML.
Ce que vous apprendrez
- Comment les espaces de noms par défaut et préfixés modifient le nom développé d'un élément.
- Pourquoi un URI d'espace de noms est un identifiant et ne doit pas nécessairement renvoyer une page Web.
- En quoi
xsi:schemaLocationdiffère dexsi:noNamespaceSchemaLocation.
À qui s'adresse : Les développeurs lisant Maven, Spring, SOAP ou d'autres fichiers de configuration XML.
Position 2026 : L'espace de noms du W3C et les règles de schéma XML restent l'autorité. Traitez les emplacements de schéma distants comme des entrées non fiables et évitez de dépendre de la récupération du réseau lors de l'analyse en production.
Note de sécurité : les commandes et exemples de configuration de l'article d'origine n'ont pas été rejoués dans un environnement de production actuel. Avant toute application, vérifiez les versions prises en charge, les sauvegardes, les contrôles d'accès et la procédure de retour arrière dans un environnement de test isolé.
Sources primaires officielles
Vue d’ensemble
Vous verrez "xmlns", "xsi:schemaLocation", etc. dans les fichiers XML, et cette section explique ce que cela signifie.
Table des matières
1. Qu'est-ce qu'un fichier XML ?
XML est l'abréviation de Extensible Markup Language (langage de balisage extensible) et est spécifié par le World Wide Web Consortium (W3C). Pour des spécifications plus détaillées autres que "xmlns" et "xsi:schemaLocation", veuillez vous référer aux sites suivants.
1-1. Que sont "xmlns" et "xsi:schemaLocation" ?
L'exemple suivant est un exemple de la première description dans un fichier XML lors de l'utilisation du framework Spring pour le développement d'applications Java.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">
En conclusion, 'xmlns' et 'xsi:schemaLocation' sont des paramètres pour les définitions sur la façon dont le XML est écrit. Dans le cadre du développement d'applications Java, le framework Spring effectue des traitements sur la base des données contenues dans ce fichier XML. S'il n'y a pas de définition sur la façon d'écrire le XML, il est difficile de savoir comment l'écrire. Ainsi, par exemple, ils définissent que "vous pouvez définir l'attribut id dans la balise bean" et "vous pouvez définir la balise constructor-arg dans la balise inner de la balise bean".
1-2. Qu'est-ce que xmlns ?
xmlns fait référence à l'"espace de noms XML". En bref, un espace de nom est un ID, c'est-à-dire une valeur d'identification unique.
Si l'on reprend l'exemple précédent de "xmlns="http://www.springframework.org/schema/beans"", "http://www.springframework.org/schema/beans" est l'espace de nom, c'est-à-dire la valeur qui identifie de manière unique l'élément suivant La valeur est.
Il s'agit d'une URL, mais lorsque le programme la traite, elle n'est pas traitée comme une URL, mais comme un ID. Par conséquent, le processus est effectué en trouvant le fichier XSD (fichier de définition XML) dans lequel "http://www.springframework.org/schema/beans" est défini comme un ID et en vérifiant s'il est décrit comme défini dans le fichier XSD. Le processus s'effectue en recherchant un fichier XSD (fichier de définition XML) avec "" défini comme ID et en vérifiant s'il est décrit comme défini dans le fichier XSD. Dans le cas de Spring, le fichier XSD est également stocké comme un ensemble dans le fichier jar.
1-3. Qu'est-ce que "xmlns:xsi" ?
'xmlns', 'xmlns:xsi', etc. pour éviter les définitions en double. Par exemple, si la même balise d'échantillon est définie dans "xmlns" et "xmlns:xsi", il n'est pas possible de déterminer quelle définition lui correspond. Il est donc possible de distinguer les définitions "xmlns" et "xmlns:xsi" pour "sample" et "xsi:sample" pour "xmlns:xsi". En d'autres termes, ceux avec "xmlns="~"" sont les valeurs par défaut, tandis que ceux avec "xmlns:xxxx="~"" doivent être définis comme "xxxx:nom de balise".
2. résumé
xmlns' et 'xsi:schemaLocation' sont des paramètres du fichier de définition permettant d'écrire correctement des fichiers XML.