14

当我创建一个春季项目时,我总是遇到 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:schemeLocation 的资源。)这些有没有在线手册?我似乎找不到他们。

注意 当我说参考时,我的意思是它们的正确网址

更新

我在哪里可以看到 Spring bean、Spring Transactions、Spring MVC 等的 XML 命名空间?及其架构位置?

4

3 回答 3

17

这里有一个很好的解释: xsi:schemaLocation 有什么用?

这是关于 xsd 配置的 springs 文档: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:”

于 2013-07-24T01:19:56.700 回答
3

这些行为您的 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 应用程序,因为它应该具有运行某些东西所需的最低限度。

于 2013-07-23T23:44:16.900 回答
1

至于回答“它在哪里记录”,我认为这取决于每个项目。对于 Spring,项目文档确实包含对此信息的引用。例如,查看 Spring Framework 3.2.x 的 xsd-config 部分:附录 E. 基于 XML Schema 的配置

于 2013-07-31T19:43:17.337 回答