Was sind "xmlns" und "xsi:schemaLocation" in XML-Dateien?


Datum der Veröffentlichung:18. Januar 2021.



INFOMARTION > Was sind "xmlns" und "xsi:schemaLocation" in XML-Dateien?

Überblick.

Sie werden "xmlns", "xsi:schemaLocation" usw. in XML-Dateien sehen, und ich möchte Ihnen erklären, was diese Begriffe bedeuten.

Inhaltsübersicht

  1. Was ist eine XML-Datei?
  2. Zusammenfassung

1. Was ist eine XML-Datei?

XML steht für Extensible Markup Language und wurde vom World Wide Web Consortium (W3C) spezifiziert. Ausführlichere Spezifikationen als "xmlns" und "xsi:schemaLocation" finden Sie auf den folgenden Seiten.

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

1-1. Was sind "xmlns" und "xsi:schemaLocation"?

Das folgende Beispiel ist ein Beispiel für die erste Beschreibung in einer XML-Datei bei Verwendung des Spring-Frameworks für die Entwicklung von Java-Anwendungen.

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">

Zusammenfassend lässt sich sagen, dass "xmlns" und "xsi:schemaLocation" Einstellungen für Definitionen darüber sind, wie XML geschrieben wird. Bei der Entwicklung von Java-Anwendungen führt das Spring-Framework eine Verarbeitung auf der Grundlage der in dieser XML-Datei enthaltenen Daten durch. Wenn es keine Definition gibt, wie man XML schreibt, ist es schwierig zu wissen, wie man es schreibt. So wird beispielsweise festgelegt, dass "das id-Attribut im Bean-Tag definiert werden kann" und "das constructor-arg-Tag im inneren Tag des Bean-Tags definiert werden kann".

1-2. Was ist xmlns?

xmlns bezieht sich auf den "XML-Namensraum". Kurz gesagt, ein Namensraum ist eine ID, d.h. ein eindeutig identifizierender Wert.

Nehmen wir das vorherige Beispiel von "xmlns="http://www.springframework.org/schema/beans"" als Beispiel, so ist "http://www.springframework.org/schema/beans" der Namensraum, d.h. der Wert, der eindeutig identifiziert Der Wert ist.

Es ist eine URL, aber wenn das Programm sie verarbeitet, wird sie nicht als URL, sondern als ID verarbeitet. Daher wird der Prozess durchgeführt, indem die XSD-Datei (XML-Definitionsdatei) gefunden wird, in der "http://www.springframework.org/schema/beans" als ID definiert ist, und überprüft wird, ob sie wie in der XSD-Datei definiert beschrieben ist. Dabei wird nach einer XSD-Datei (XML-Definitionsdatei) gesucht, in der "" als ID definiert ist, und geprüft, ob sie wie in der XSD-Datei definiert beschrieben ist. Im Falle von Spring wird die XSD-Datei auch als Set in der jar-Datei gespeichert.

1-3. Was ist "xmlns:xsi"?

xmlns', 'xmlns:xsi', usw., um doppelte Definitionen zu vermeiden. Wenn beispielsweise dasselbe Beispiel-Tag in "xmlns" und "xmlns:xsi" definiert ist, lässt sich nicht feststellen, als welche Definition es beschrieben wird. Daher ist es möglich, zwischen den Definitionen "xmlns" und "xmlns:xsi" für "sample" und "xsi:sample" für "xmlns:xsi" zu unterscheiden. Mit anderen Worten, diejenigen mit "xmlns="~"" sind die Standardwerte, während diejenigen mit "xmlns:xxxx="~"" als "xxxx:tag name" definiert werden müssen.

2. Zusammenfassung

xmlns" und "xsi:schemaLocation" sind Definitionsdateieinstellungen für das korrekte Schreiben von XML-Dateien.

Danke, dass Sie bis zum Ende zugesehen haben.