Mitä ovat 'xmlns' ja 'xsi:schemaLocation' XML-tiedostoissa?


Julkaisupäivä:18. tammikuuta 2021.



INFOMARTION > Mitä ovat 'xmlns' ja 'xsi:schemaLocation' XML-tiedostoissa?

Yleiskatsaus.

Näet XML-tiedostoissa sanoja 'xmlns', 'xsi:schemaLocation' jne., ja haluaisin selittää, mitä ne tarkoittavat.

Sisällysluettelo

  1. Mikä on XML-tiedosto?
  2. yhteenveto

1. Mikä on XML-tiedosto?

XML on lyhenne sanoista Extensible Markup Language, ja sen on määritellyt World Wide Web Consortium (W3C). Yksityiskohtaisempia määrittelyjä muista kuin "xmlns"- ja "xsi:schemaLocation"-määrittelyistä on seuraavilla sivustoilla.

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

1-1. Mitä ovat "xmlns" ja "xsi:schemaLocation"?

Seuraava esimerkki on esimerkki XML-tiedoston ensimmäisestä kuvauksesta, kun käytetään Spring-kehystä Java-sovellusten kehittämiseen.

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

Yhteenvetona voidaan todeta, että 'xmlns' ja 'xsi:schemaLocation' ovat XML:n kirjoitustapaa koskevien määritelmien asetuksia. Java-sovelluskehityksessä Spring-kehys suorittaa käsittelyn tämän XML-tiedoston sisältämien tietojen perusteella. Jos ei ole olemassa määritelmää siitä, miten XML:ää kirjoitetaan, on vaikea tietää, miten sitä kirjoitetaan. Ne määrittelevät esimerkiksi, että "id-attribuutin voi määritellä paputunnisteessa" ja "constructor-arg-tunnisteen voi määritellä paputunnisteen sisätunnisteessa".

1-2. Mikä on xmlns?

xmlns viittaa 'XML-nimiavaruuteen'. Lyhyesti sanottuna nimiavaruus on ID eli yksilöivä arvo.

Otetaan edellinen esimerkki "xmlns="http://www.springframework.org/schema/beans"" esimerkkinä, "http://www.springframework.org/schema/beans" on nimiavaruus, eli arvo, joka yksilöi yksiselitteisesti Arvo on.

Se on URL-osoite, mutta kun ohjelma käsittelee sitä, sitä ei käsitellä URL-osoitteena vaan tunnuksena. Prosessi suoritetaan siten etsimällä XSD-tiedosto (XML-määrittelytiedosto), jossa "http://www.springframework.org/schema/beans" on määritelty tunnukseksi, ja tarkistamalla, onko se kuvattu XSD-tiedostossa määritellyllä tavalla. Prosessi suoritetaan etsimällä XSD-tiedosto (XML-määritystiedosto), jonka tunnukseksi on määritelty "", ja tarkistamalla, onko se kuvattu XSD-tiedostossa määritellyllä tavalla. Springin tapauksessa XSD-tiedosto on myös tallennettu sarjana jar-tiedostoon.

1-3. Mikä on "xmlns:xsi"?

'xmlns', 'xmlns:xsi' jne. päällekkäisten määritelmien välttämiseksi. Jos esimerkiksi sama esimerkkitunniste on määritelty "xmlns"- ja "xmlns:xsi"-muodoissa, ei ole mahdollista määrittää, kummalla määritelmällä se on kuvattu. Siksi on mahdollista erottaa toisistaan määritelmät "xmlns" ja "xmlns:xsi" määritelmille "sample" ja "xsi:sample" määritelmälle "xmlns:xsi". Toisin sanoen ne, joissa on "xmlns="~"", ovat oletusarvoja, kun taas ne, joissa on "xmlns:xxxx="~"", on määriteltävä muodossa "xxxx:tag name".

2. yhteenveto

'xmlns' ja 'xsi:schemaLocation' ovat määrittelytiedoston asetuksia, joilla XML-tiedostot kirjoitetaan oikein.

Kiitos, että katsoitte loppuun asti.