Que sont 'xmlns' et 'xsi:schemaLocation' dans les fichiers XML ?


Date de publication:18 janvier 2021.



INFOMARTION > Que sont 'xmlns' et 'xsi:schemaLocation' dans les fichiers XML ?

Vue d'ensemble.

Vous verrez "xmlns", "xsi:schemaLocation", etc. dans les fichiers XML, et je voudrais vous expliquer ce que cela signifie.

Table des matières

  1. Qu'est-ce qu'un fichier XML ?
  2. résumé

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.

https://www.w3.org/TR/xml/

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.

applicationContext.xml


<?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.

Merci d'avoir regardé jusqu'à la fin.