Какво представляват 'xmlns' и 'xsi:schemaLocation' в XML файловете?


Дата на публикуване:18 януари 2021 г.



INFOMARTION > Какво представляват 'xmlns' и 'xsi:schemaLocation' в XML файловете?

Преглед.

В XML файловете можете да видите 'xmlns', 'xsi:schemaLocation' и т.н. и бих искал да обясня какво означават те.

Съдържание

  1. Какво представлява един XML файл?
  2. резюме

1. Какво представлява един XML файл?

XML означава Extensible Markup Language (разширяем език за маркиране) и е специфициран от World Wide Web Consortium (W3C). За по-подробни спецификации, различни от "xmlns" и "xsi:schemaLocation", моля, вижте следните сайтове.

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

1-1. Какво представляват "xmlns" и "xsi:schemaLocation"?

Следващият пример е пример за първото описание в XML файл, когато се използва рамката Spring за разработка на 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">

В заключение, 'xmlns' и 'xsi:schemaLocation' са настройки за дефиниции относно начина на записване на XML. При разработването на Java приложения рамката Spring извършва обработка въз основа на данните, съдържащи се в този XML файл. Ако няма определение за това как се пише XML, е трудно да се разбере как да се пише. Така например те определят, че "можете да дефинирате атрибута id в тага bean" и "можете да дефинирате тага constructor-arg във вътрешния таг на тага bean".

1-2. Какво е xmlns?

xmlns се отнася за "пространството от имена на XML". Накратко, пространството от имена е идентификатор, т.е. уникално идентифицираща стойност.

Ако вземем за пример предишния пример с "xmlns="http://www.springframework.org/schema/beans"", "http://www.springframework.org/schema/beans" е пространството от имена, т.е. стойността, която еднозначно идентифицира Стойността е.

Това е URL, но когато програмата го обработва, той не се обработва като URL, а като ID. Следователно процесът се извършва чрез намиране на XSD файла (XML дефиниционен файл), в който "http://www.springframework.org/schema/beans" е дефиниран като ID, и проверка дали е описан, както е дефиниран в XSD файла. Процесът се извършва, като се търси XSD файл (XML дефиниционен файл) с "", дефиниран като ID, и се проверява дали е описан, както е дефиниран в XSD файла. В случая на Spring XSD файлът също се съхранява като набор в jar файла.

1-3. Какво е "xmlns:xsi"?

'xmlns', 'xmlns:xsi' и т.н., за да се избегнат дублиращи се дефиниции. Например, ако един и същ примерен таг е дефиниран в "xmlns" и "xmlns:xsi", не е възможно да се определи като коя дефиниция е описан. Следователно е възможно да се прави разлика между определенията "xmlns" и "xmlns:xsi" за "sample" и "xsi:sample" за "xmlns:xsi". С други думи, тези с "xmlns="~"" са стойностите по подразбиране, докато тези с "xmlns:xxxx="~"" трябва да бъдат дефинирани като "xxxx:tag name".

2. резюме

'xmlns' и 'xsi:schemaLocation' са настройки на файла за дефиниция за правилно записване на XML файлове.

Благодарим ви, че гледахте до края.