Spring beans DTD и XMLNS

Когда я создаю проект spring, у меня всегда есть проблема с XLMNS. что такое XMLNS? что это на самом деле?

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"

И где я могу получить ссылки для них? (ресурс xmlns: xsi и xsi: schemLocation.) есть ли онлайн-руководство для них? Кажется, я не могу их найти.

Примечание Когда я сказал ссылки, я имел в виду правильные URL-адреса для них.

ОБНОВЛЕНО

Где я могу увидеть пространства имен XML для spring beans, spring Транзакций, spring MVC и т.д.? и его местоположения схемы?

Ответ 1

Здесь есть хорошее объяснение: какая польза от xsi: schemaLocation?

Вот источники документов на xsd config: http://static.springsource.org/spring/docs/current/spring-framework-reference/html/xsd-config.html

ПРИМЕЧАНИЕ: Spring теперь рекомендует не включать номер версии в xsd, если это не требуется, поэтому вы должны иметь:

xsi:schemaLocation="http://www.springframework.org/schema/beans 
                    http://www.springframework.org/schema/beans/spring-beans.xsd"

и не:

xsi:schemaLocation="http://www.springframework.org/schema/beans 
                    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"

"xmlns" определяет пространство имен для текущего элемента.

"xmlns: aop" определяет пространство имен для элементов в текущем элементе, которые имеют префикс "aop:"

Ответ 2

Эти строки задают пространства имен для вашего XML-документа. В зависимости от того, какие теги вы используете в своем XML файле, вам понадобятся пространства имен наверху (и ссылки на правильные схемы), чтобы XML был действительным.

Например, если вы используете тег <aop/> в своих определениях bean, вам нужно будет ссылаться на схему aop в верхней части файла: xmlns:aop="http://www.springframework.org/schema/aop" Если вы не используете этот тег, вы не нужно, чтобы там.

Для любых импортируемых импространств убедитесь, что вы добавили ссылку на схему в теге "xsi: schemaLocation", например: xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

Я бы рекомендовал проверить пример приложения Spring, так как он должен иметь минимальный минимум, необходимый для запуска чего-либо.

Ответ 3

Что касается ответа на "где он документирован", я думаю, что это зависит от проекта. В случае Spring документация проекта содержит ссылку на эту информацию. В качестве примера ознакомьтесь с разделом xsd-config для Spring Framework 3.2.x: Приложение E. Конфигурация на основе схемы XML