Imenski prostori XML: xmlns in xsi:schemaLocation
Datum objave:
Posodobljeno:
Tehnični članki > Imenski prostori XML: xmlns in xsi:schemaLocation
Stanje in varna uporaba v letu 2026
Bistvo: xmlns poveže predpono ali privzeti imenski prostor z URI-jem, tako da imena elementov ostanejo nedvoumna. xsi:schemaLocation je zgolj namig, ki URI imenskega prostora poveže z mestom sheme; način preverjanja je še vedno odvisen od procesorja XML.
Kaj boste izvedeli
- Kako privzeti in predponski imenski prostori vplivajo na razširjeno ime elementa.
- Zakaj je imenski prostor URI identifikator in mu ni treba vrniti spletne strani.
- Kako se
xsi:schemaLocationrazlikuje odxsi:noNamespaceSchemaLocation.
Komu je članek namenjen? Razvijalcem, ki berejo konfiguracijske datoteke XML za Maven, Spring, SOAP ali druge tehnologije.
Opomba za leto 2026: Specifikacije W3C za imenske prostore in XML Schema ostajajo veljavne. Oddaljena mesta shem obravnavajte kot nezaupan vhod in se pri razčlenjevanju v produkciji ne zanašajte na njihov omrežni prenos.
Varnostna opomba: Ukazi in konfiguracijski primeri iz prvotnega članka niso bili znova preizkušeni v sodobnem produkcijskem okolju. Pred uporabo v ločenem preizkusnem okolju preverite podprte različice, izdelajte varnostne kopije ter določite nadzor dostopa in postopek povrnitve.
Uradni viri
Pregled
V datotekah XML se pogosto pojavita zapisa "xmlns" in "xsi:schemaLocation". V nadaljevanju je pojasnjen njun pomen.
Kazalo vsebine
1. Kaj je datoteka XML?
XML je kratica za Extensible Markup Language, njegove specifikacije pa objavlja konzorcij World Wide Web Consortium (W3C). Podrobnosti, ki presegajo "xmlns" in "xsi:schemaLocation", so na voljo na naslednji strani.
1-1. Kaj sta "xmlns" in "xsi:schemaLocation"?
Naslednji primer prikazuje začetek konfiguracijske datoteke XML za ogrodje Spring pri razvoju aplikacije 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">
"xmlns" določa imenske prostore, "xsi:schemaLocation" pa nakaže, kje so njihove sheme XML. Spring bere podatke iz konfiguracijske datoteke, shema pa med drugim določa, kateri elementi in atributi so dovoljeni. Tako lahko na primer opredeli atribut "id" elementa "bean" in podelement "constructor-arg".
1-2. Kaj je xmlns?
"xmlns" razglasi imenski prostor XML. Imenski prostor je enolični identifikator, s katerim je mogoče razlikovati enako poimenovane elemente iz različnih slovarjev.
V zapisu "xmlns="http://www.springframework.org/schema/beans"" je URI "http://www.springframework.org/schema/beans" identifikator privzetega imenskega prostora.
Čeprav je videti kot spletni naslov, se URI imenskega prostora uporablja predvsem kot identifikator in ga ni treba odpreti v brskalniku. Procesor lahko ustrezno shemo XSD poišče lokalno; Spring na primer preslikave in sheme priloži v datotekah JAR.
1-3. Kaj je "xmlns:xsi"?
Deklaracija "xmlns:xsi" veže predpono "xsi" na imenski prostor XML Schema Instance. Privzeti imenski prostor iz zapisa "xmlns=…" velja za imena elementov brez predpone, imenovani prostor iz zapisa "xmlns:xxxx=…" pa se uporablja s predpono, na primer "xxxx:ime-elementa". Tako je mogoče razlikovati enako poimenovane elemente ali atribute iz različnih imenskih prostorov.
2. Povzetek
"xmlns" razglasi imenski prostor, "xsi:schemaLocation" pa poda namig o mestu pripadajoče sheme. Skupaj procesorju pomagata pravilno razložiti in po potrebi preveriti dokument XML.
URI imenskega prostora je identifikator in ni nujno naslov, s katerega se shema neposredno prenese.