XML vardų srities paaiškinimas: xmlns ir xsi:schemaLocation
Paskelbimo data:
Atnaujinta:
Techniniai straipsniai > XML vardų srities paaiškinimas: xmlns ir xsi:schemaLocation
2026 m. būsena ir saugus naudojimas
Išvada: xmlns sujungia priešdėlį arba numatytąją vardų erdvę su URI, kad elementų pavadinimai liktų nedviprasmiški. xsi:schemaLocation yra tik užuomina, kuri suporuoja vardų erdvės URI su schemos vietomis; patvirtinimo elgsena vis tiek priklauso nuo XML procesoriaus.
Ką išmoksite
- Kaip numatytosios vardų erdvės ir priešdėlis pakeičia elemento išplėstinį pavadinimą.
- Kodėl vardų erdvės URI yra identifikatorius ir neprivalo grąžinti tinklalapio.
- Kuo
xsi:schemaLocationskiriasi nuoxsi:noNamespaceSchemaLocation.
Kam tai skirta: kūrėjams, skaitantiems Maven, Spring, SOAP ar kitus XML konfigūracijos failus.
2026 m. kontekstas: W3C vardų erdvė ir XML schemos taisyklės išlieka autoritetingos. Laikykite nuotolines schemų vietas kaip nepatikimą įvestį ir venkite, kad gamybinės analizės metu atsirastų tinklo gavimas.
Saugos pastaba: pradiniame straipsnyje pateiktos komandos ir konfigūracijos pavyzdžiai nebuvo pakartotinai vykdomi dabartinėje gamybos aplinkoje. Prieš taikydami, patikrinkite palaikomas versijas, atsargines kopijas, prieigos valdiklius ir atšaukimo veiksmus atskiroje bandymo aplinkoje.
Pagrindiniai oficialūs šaltiniai
Apžvalga.
XML failuose matysite "xmlns", "xsi:schemaLocation" ir t. t., todėl norėčiau paaiškinti, ką jie reiškia.
Turinys
1. Kas yra XML failas?
XML reiškia "Extensible Markup Language" (išplečiamąją žymėjimo kalbą) ir yra apibrėžta Pasaulinio žiniatinklio konsorciumo (W3C). Išsamesnių specifikacijų, išskyrus "xmlns" ir "xsi:schemaLocation", rasite šiose svetainėse.
1-1. Kas yra "xmlns" ir "xsi:schemaLocation"?
Toliau pateikiamas pirmojo XML failo aprašymo pavyzdys naudojant "Spring" sistemą "Java" programoms kurti.
<?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">
Apibendrinant, "xmlns" ir "xsi:schemaLocation" yra XML užrašymo apibrėžimų nustatymai. Kuriant "Java" programėlę, "Spring" sistema atlieka apdorojimą pagal šiame XML faile esančius duomenis. Jei nėra apibrėžimo, kaip rašyti XML, sunku žinoti, kaip jį rašyti. Pavyzdžiui, jie apibrėžia, kad "atributą id galite apibrėžti pupelės žymėje" ir "žymę constructor-arg galite apibrėžti vidinėje pupelės žymės žymėje".
1-2. Kas yra xmlns?
xmlns reiškia "XML vardų erdvę". Trumpai tariant, vardų erdvė yra ID, t. y. unikaliai identifikuojanti reikšmė.
Imant ankstesnį pavyzdį "xmlns="http://www.springframework.org/schema/beans"", "http://www.springframework.org/schema/beans" yra vardų erdvė, t. y. reikšmė, kuri unikaliai identifikuoja Vertė yra.
Tai yra URL adresas, bet kai programa jį apdoroja, jis apdorojamas ne kaip URL adresas, o kaip ID. Todėl procesas atliekamas ieškant XSD failo (XML apibrėžties failo), kuriame "http://www.springframework.org/schema/beans" apibrėžtas kaip ID, ir tikrinant, ar jis aprašytas taip, kaip apibrėžta XSD faile. Procesas atliekamas ieškant XSD failo (XML apibrėžties failo), kurio ID yra "", ir tikrinant, ar jis aprašytas taip, kaip apibrėžta XSD faile. "Spring" atveju XSD failas taip pat saugomas kaip rinkinys JAR faile.
1-3. Kas yra "xmlns:xsi"?
'xmlns', 'xmlns:xsi' ir t. t., kad būtų išvengta pasikartojančių apibrėžimų. Pavyzdžiui, jei ta pati pavyzdžio žyma apibrėžta "xmlns" ir "xmlns:xsi", neįmanoma nustatyti, kuriuo apibrėžimu ji aprašyta. Todėl galima atskirti "xmlns" ir "xmlns:xsi" apibrėžtis "sample" ir "xsi:sample" apibrėžtį "xmlns:xsi". Kitaip tariant, reikšmės su "xmlns="~" yra numatytoji reikšmė, o reikšmės su "xmlns:xxxx="~" turi būti apibrėžtos kaip "xxxx:tag name".
2. santrauka
'xmlns' ir 'xsi:schemaLocation' - tai apibrėžties failo nustatymai, kad XML failai būtų rašomi teisingai.
Dėkojame, kad žiūrėjote iki pabaigos.
Techniniai straipsniai
Peržiūrėkite visus techninius straipsnius.
Profilis
Peržiūrėkite autoriaus profilį.
Kontaktai