XML jmenné prostory vysvětleny: xmlns a xsi:schemaLocation


Publikováno:

Aktualizováno:


Články › XML jmenné prostory vysvětleny: xmlns a xsi:schemaLocation

Stav v roce 2026 a bezpečné použití

Závěr: xmlns váže předponu nebo výchozí jmenný prostor k URI, takže názvy prvků zůstávají jednoznačné. xsi:schemaLocation je pouze nápověda, která páruje URI jmenného prostoru s umístěním schématu; chování ověření stále závisí na procesoru XML.

Co se dozvíte

  • Jak výchozí a předponové jmenné prostory mění rozšířený název prvku.
  • Proč je URI jmenného prostoru identifikátorem a nemusí vracet webovou stránku.
  • Jak se xsi:schemaLocation liší od xsi:noNamespaceSchemaLocation.

Pro koho je článek určen: Vývojáři čtoucí soubory Maven, Spring, SOAP nebo jiné konfigurační soubory XML.

Aktuální stav v roce 2026: Obor názvů W3C a pravidla schématu XML zůstávají autoritou. Zacházejte se vzdálenými umístěními schémat jako s nedůvěryhodným vstupem a vyhněte se závislosti na načítání sítě během produkční analýzy.

Bezpečnostní poznámka: Příkazy a konfigurační příklady z původního článku nebyly znovu spuštěny v současném produkčním prostředí. Před nasazením ověřte podporované verze, vytvořte zálohu a připravte postup návratu v odděleném testovacím prostředí.

Oficiální zdroje

Přehled

V souborech XML se můžete setkat se znaky 'xmlns', 'xsi:schemaLocation' atd. a já bych vám rád vysvětlil, co tyto znaky znamenají.

Obsah

  1. Co je soubor XML?
  2. Shrnutí

1. Co je soubor XML?

Zkratka XML znamená Extensible Markup Language a je specifikována konsorciem World Wide Web Consortium (W3C). Podrobnější specifikace kromě "xmlns" a "xsi:schemaLocation" naleznete na následujících stránkách.

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

1-1. Co je to "xmlns" a "xsi:schemaLocation"?

Následující příklad je ukázkou prvního popisu v souboru XML při použití frameworku Spring pro vývoj aplikací v jazyce 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">

Závěrem lze říci, že 'xmlns' a 'xsi:schemaLocation' jsou nastavení pro definice způsobu zápisu XML. Při vývoji aplikací v jazyce Java provádí framework Spring zpracování na základě dat obsažených v tomto souboru XML. Pokud neexistuje definice, jak XML zapsat, je těžké vědět, jak ho zapsat. Tak například definují, že "atribut id můžete definovat v tagu bean" a "tag constructor-arg můžete definovat ve vnitřním tagu tagu bean".

1-2. Co je xmlns?

xmlns odkazuje na "jmenný prostor XML". Stručně řečeno, jmenný prostor je ID, tj. jednoznačně identifikující hodnota.

Vezmeme-li jako příklad předchozí příklad "xmlns="http://www.springframework.org/schema/beans"", "http://www.springframework.org/schema/beans" je jmenný prostor, tj. hodnota, která jednoznačně identifikuje Hodnota je.

Je to adresa URL, ale když ji program zpracovává, nezpracovává ji jako adresu URL, ale jako ID. Proto se proces provádí tak, že se najde soubor XSD (soubor s definicí XML), ve kterém je jako ID definován "http://www.springframework.org/schema/beans", a zkontroluje se, zda je popsán tak, jak je definován v souboru XSD. Proces se provádí tak, že se vyhledá soubor XSD (definiční soubor XML) s "" definovaným jako ID a zkontroluje se, zda je popsán tak, jak je definován v souboru XSD. V případě systému Spring je soubor XSD uložen také jako sada v souboru jar.

1-3. Co je to "xmlns:xsi"?

'xmlns', 'xmlns:xsi' atd., aby se zabránilo duplicitním definicím. Pokud je například stejný vzorový tag definován v "xmlns" a "xmlns:xsi", nelze určit, která definice je popsána. Proto je možné rozlišovat mezi definicemi "xmlns" a "xmlns:xsi" pro "sample" a "xsi:sample" pro "xmlns:xsi". Jinými slovy, ty s "xmlns="~"" jsou výchozí hodnoty, zatímco ty s "xmlns:xxxx="~"" musí být definovány jako "xxxx:tag name".

2. shrnutí

'xmlns' a 'xsi:schemaLocation' jsou nastavení definičních souborů pro správný zápis souborů XML.

Tím jsou shrnuty hlavní kroky a omezení, která je třeba zohlednit.