Was sind "xmlns" und "xsi:schemaLocation" in XML-Dateien?
Datum der Veröffentlichung:
Aktualisiert:
Fachartikel > Was sind "xmlns" und "xsi:schemaLocation" in XML-Dateien?
Status 2026 und sichere Verwendung
Fazit: xmlns bindet ein Präfix oder einen Standard-Namespace an einen URI, sodass Elementnamen eindeutig bleiben. xsi:schemaLocation ist nur ein Hinweis, der Namespace-URIs mit Schema-Speicherorten koppelt; Das Validierungsverhalten hängt immer noch vom XML-Prozessor ab.
Was Sie lernen werden
- Wie Standard- und Präfix-Namespaces den erweiterten Namen eines Elements ändern.
- Warum ein Namespace-URI ein Bezeichner ist und keine Webseite zurückgeben muss.
- Wie sich
xsi:schemaLocationvonxsi:noNamespaceSchemaLocationunterscheidet.
Für wen ist dies gedacht: Entwickler, die Maven-, Spring-, SOAP- oder andere XML-Konfigurationsdateien lesen.
Stand 2026: Der W3C-Namespace und die XML-Schemaregeln bleiben die Autorität. Behandeln Sie entfernte Schemaspeicherorte als nicht vertrauenswürdige Eingabe und vermeiden Sie die Abhängigkeit vom Netzwerkabruf während der Produktionsanalyse.
Sicherheitshinweis: Die Befehle und Konfigurationsbeispiele im Originalartikel wurden nicht in einer aktuellen Produktionsumgebung erneut ausgeführt. Überprüfen Sie unterstützte Versionen, Backups, Zugriffskontrollen und Rollback-Schritte in einer separaten Testumgebung, bevor Sie sie anwenden.
Offizielle Primärquellen
Überblick
Dieser Artikel erklärt die Bedeutung von „xmlns“ und „xsi:schemaLocation“ in XML-Dateien.
Inhaltsübersicht
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.
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.
<?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">
xmlns deklariert XML-Namensräume; xsi:schemaLocation ordnet Namensräume möglichen Schema-Dokumenten zu. In einer Spring-Konfiguration unterscheiden Namensräume Elemente verschiedener XML-Vokabulare. Die zugehörigen XML-Schemas beschreiben zulässige Elemente, Attribute und Strukturen.
1-2. Was ist xmlns?
xmlns ist eine XML-Namensraumdeklaration. Als Namensraumname wird meist ein URI verwendet, damit XML-Vokabulare weltweit eindeutig unterschieden werden können.
In „xmlns="http://www.springframework.org/schema/beans"“ deklariert der URI den Standardnamensraum. Elementnamen ohne Präfix gehören damit zu diesem Namensraum.
Der URI dient als Kennung und muss keine abrufbare Webseite sein. Parser oder Frameworks können das passende XSD über xsi:schemaLocation, einen Katalog oder Ressourcen im Klassenpfad auflösen. Spring verwendet dafür üblicherweise Schemas aus seinen JAR-Dateien und lädt sie nicht bei jeder Verarbeitung aus dem Netz.
1-3. Was ist "xmlns:xsi"?
„xmlns:xsi“ bindet das Präfix xsi an den Namensraum XML Schema Instance. Danach können Attribute wie xsi:schemaLocation verwendet werden. Eine xmlns-Deklaration ohne Präfix legt den Standardnamensraum fest; Deklarationen wie „xmlns:context“ werden dagegen mit qualifizierten Namen wie context:component-scan verwendet.
2. Zusammenfassung
xmlns kennzeichnet den Namensraum eines Elements oder Attributs. xsi:schemaLocation liefert dagegen einen Hinweis auf mögliche Schema-Speicherorte. Beide Angaben erfüllen unterschiedliche Aufgaben.