Mai mult
ceea ce este utilizarea de xsi:schemaLocation?
Văd că avem mai multe url's ca valoarea acestui atribut ca în primăvară:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
De ce este necesar și ceea ce este folosit pentru? Face Primăvară se duce la url-ul și valida? care este diferența între xmlns și xsi:schemaLocation?
127
4
Java XML parser că primăvara foloseste va citi `schemaLocation valorile și încercați să le încărcați de pe internet, în scopul de a valida fișier XML. Primăvara, la rândul său, interceptează cei cererile de sarcină și servește versiuni din interiorul propriilor fișiere JAR.
Dacă omiteți `schemaLocation, atunci XML parser câștigat't știu unde pentru a obține schema în scopul de a valida config.
O
xmlns
este un identificator unic în cadrul documentului - nu't trebuie să fie un URI la schema:xsi:schemaLocation
ar trebui să dea un indiciu cu privire la efective schema de amplasare:Conform spec pentru localizarea Scheme
(vă mulțumim pentru a fi lipsite de ambiguitate, spec!)
și
Deci, practic, cu specificarea doar un spațiu de nume XML "poate" fi încercat să fie validat de un xsd la acea locație (chiar dacă acesta nu dispune de un schemaLocation
atribut), în funcție de "comunitate." Dacă specificați un anumit
schemaLocation, atunci acesta este practic ceea ce înseamnă că documentul xml "trebuie" să fie conformă a spus xsd, deci "vă rugăm să validați-l" (ca am citit-o). Părerea mea este că dacă nu't face o schemaLocation " sau " noNamespaceSchemaLocation
atribut doar "e't validat" de cele mai multe ori (bazate pe alte răspunsuri, apare java face în acest fel).O altă problemă aici este că, de obicei, cu validare xsd în biblioteci java [ex: primavara config fișiere xml], dacă fișierele XML specifică un anumit
schemaLocation
xsd url-ul într-un fișier XML, ca xsi:schemaLocation="http://somewhere http://somewhere/something.xsd"de obicei în termen de o de dependență borcane se va *conțin* o copie a xsd, în secțiunea resurse, și de primăvară are o "cartografiere" capacitatea de a spune pentru a trata xsd ca în cazul hărților la url-ul
http://somewhere/something.xsd` (astfel încât să nu ajung la web și descărcarea de fișiere, acesta există doar la nivel local). A se vedea, de asemenea, https://stackoverflow.com/a/41225329/32453 pentru ceva mai multe informatii.Dacă te duci în oricare dintre aceste locații, atunci veți găsi ceea ce este definit în aceste scheme. De exemplu, vă spune care este tipul de date al ini-metoda de cuvinte cheie valoare.