Kas yra 'xmlns' ir 'xsi:schemaLocation' XML failuose?


Paskelbimo data:2021 m. sausio 18 d.



INFOMARTION > Kas yra 'xmlns' ir 'xsi:schemaLocation' XML failuose?

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?
  2. santrauka

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.

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

1-1. Kas yra "xmlns" ir "xsi:schemaLocation"?

Toliau pateikiamas pirmojo XML failo aprašymo pavyzdys naudojant "Spring" sistemą "Java" programoms kurti.

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

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.