Čo sú to 'xmlns' a 'xsi:schemaLocation' v súboroch XML?


Dátum vydania:18. januára 2021.



INFOMARTION > Čo sú to 'xmlns' a 'xsi:schemaLocation' v súboroch XML?

Prehľad.

V súboroch XML sa môžete stretnúť s výrazmi 'xmlns', 'xsi:schemaLocation' atď. a ja by som vám rád vysvetlil, čo znamenajú.

Obsah

  1. Čo je súbor XML?
  2. zhrnutie

1. Čo je súbor XML?

XML je skratka pre Extensible Markup Language a je špecifikovaný konzorciom World Wide Web (W3C). Podrobnejšie špecifikácie okrem "xmlns" a "xsi:schemaLocation" nájdete na nasledujúcich stránkach.

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

1-1. Čo sú to "xmlns" a "xsi:schemaLocation"?

Nasledujúci príklad je príkladom prvého popisu v súbore XML pri použití rámca Spring na vývoj aplikácií 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">

Na záver, 'xmlns' a 'xsi:schemaLocation' sú nastavenia pre definície spôsobu zápisu XML. Pri vývoji aplikácií v jazyku Java vykonáva rámec Spring spracovanie na základe údajov obsiahnutých v tomto súbore XML. Ak neexistuje definícia, ako XML písať, je ťažké vedieť, ako ho písať. Takže napríklad definujú, že "atribút id môžete definovať v značke bean" a "značku constructor-arg môžete definovať vo vnútornej značke značky bean".

1-2. Čo je xmlns?

xmlns odkazuje na "XML namespace". Stručne povedané, menný priestor je ID, t. j. jednoznačne identifikujúca hodnota.

Ak si zoberieme ako príklad predchádzajúci príklad "xmlns="http://www.springframework.org/schema/beans"", "http://www.springframework.org/schema/beans" je menný priestor, t. j. hodnota, ktorá jednoznačne identifikuje Hodnota je.

Je to adresa URL, ale keď ju program spracuje, nespracuje ju ako adresu URL, ale ako ID. Preto sa proces vykonáva tak, že sa nájde súbor XSD (definičný súbor XML), v ktorom je "http://www.springframework.org/schema/beans" definovaný ako ID, a skontroluje sa, či je opísaný tak, ako je definovaný v súbore XSD. Tento proces sa vykonáva tak, že sa vyhľadá súbor XSD (súbor definície XML) s "" definovaným ako ID a skontroluje sa, či je opísaný tak, ako je definovaný v súbore XSD. V prípade Spring je súbor XSD tiež uložený ako sada v súbore jar.

1-3. Čo je to "xmlns:xsi"?

'xmlns', 'xmlns:xsi' atď., aby sa zabránilo duplicitným definíciám. Ak je napríklad ten istý vzorový tag definovaný v "xmlns" a "xmlns:xsi", nie je možné určiť, ktorá definícia je popísaná. Preto je možné rozlišovať medzi definíciami "xmlns" a "xmlns:xsi" pre "sample" a "xsi:sample" pre "xmlns:xsi". Inými slovami, tie s "xmlns="~"" sú predvolené hodnoty, zatiaľ čo tie s "xmlns:xxxx="~"" musia byť definované ako "xxxx:tag name".

2. zhrnutie

'xmlns' a 'xsi:schemaLocation' sú nastavenia definičných súborov pre správny zápis súborov XML.

Ďakujeme vám za sledovanie až do konca.