Co to są 'xmlns' i 'xsi:schemaLocation' w plikach XML?


Data publikacji:18 stycznia 2021 r.



INFOMARTION > Co to są 'xmlns' i 'xsi:schemaLocation' w plikach XML?

Przegląd.

W plikach XML można spotkać oznaczenia "xmlns", "xsi:schemaLocation" itp. i chciałbym wyjaśnić, co one oznaczają.

Spis treści

  1. Co to jest plik XML?
  2. streszczenie

1. Co to jest plik XML?

XML jest skrótem od Extensible Markup Language (Rozszerzalny Język Znaczników) i został opracowany przez World Wide Web Consortium (W3C). Bardziej szczegółowe specyfikacje, inne niż "xmlns" i "xsi:schemaLocation", można znaleźć na następujących stronach.

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

1-1. Co to są "xmlns" i "xsi:schemaLocation"?

Poniższy przykład jest przykładem pierwszego opisu w pliku XML podczas korzystania z frameworka Spring do tworzenia aplikacji w Javie.

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

Podsumowując, "xmlns" i "xsi:schemaLocation" to ustawienia określające, w jaki sposób zapisywany jest XML. Podczas tworzenia aplikacji w Javie framework Spring wykonuje przetwarzanie na podstawie danych zawartych w tym pliku XML. Jeśli nie ma definicji, jak pisać XML, trudno jest wiedzieć, jak go pisać. Tak więc na przykład definiują one, że "można zdefiniować atrybut id w znaczniku bean" oraz "można zdefiniować znacznik constructor-arg w wewnętrznym znaczniku znacznika bean".

1-2. Co to jest xmlns?

xmlns odnosi się do "przestrzeni nazw XML". Krótko mówiąc, przestrzeń nazw to identyfikator, czyli wartość jednoznacznie identyfikująca.

Biorąc za przykład poprzedni przykład "xmlns="http://www.springframework.org/schema/beans"", "http://www.springframework.org/schema/beans" jest przestrzenią nazw, czyli wartością, która jednoznacznie identyfikuje Wartość ta wynosi.

Jest to adres URL, ale gdy program go przetwarza, nie jest on przetwarzany jako adres URL, lecz jako identyfikator. Dlatego proces ten polega na znalezieniu pliku XSD (plik definicji XML), w którym "http://www.springframework.org/schema/beans" jest zdefiniowany jako identyfikator, i sprawdzeniu, czy jest on opisany zgodnie z definicją w pliku XSD. Proces jest realizowany poprzez wyszukanie pliku XSD (plik definicji XML) z "" zdefiniowanym jako identyfikator i sprawdzenie, czy jest on opisany zgodnie z definicją w pliku XSD. W przypadku Springa plik XSD jest również przechowywany jako zestaw w pliku jar.

1-3. Co to jest "xmlns:xsi"?

'xmlns', 'xmlns:xsi' itp., aby uniknąć powielania definicji. Na przykład, jeśli ten sam przykładowy znacznik jest zdefiniowany w "xmlns" i "xmlns:xsi", nie można określić, w której definicji jest on opisany. Dlatego można rozróżnić definicje "xmlns" i "xmlns:xsi" dla "sample" oraz "xsi:sample" dla "xmlns:xsi". Innymi słowy, te z "xmlns="~"" są wartościami domyślnymi, natomiast te z "xmlns:xxxx="~"" muszą być zdefiniowane jako "xxxx:nazwa tagu".

2. streszczenie

xmlns" i "xsi:schemaLocation" są ustawieniami pliku definicji umożliwiającymi prawidłowy zapis plików XML.

Dziękujemy, że oglądaliście do końca.