2

很多 Java EEweb.xml文件的示例都以

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" <----------
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    id="WebApp_ID"
    version="2.5">
...

虽然我认为我理解'xmlns:anything' 通常是什么意思,但我想xsi:schemaLocation这只是一张地图XML namespace -> schema file (XSD?) URI,我不知道xmlns:web应该是什么意思。

  1. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd它是带有web前缀的命名空间声明吗?如果是这样,为什么大多数示例中都没有使用前缀?为什么命名空间以“.xsd”结尾——这是非标准的?

  2. 如果它是默认命名空间的架构位置声明,我在哪里可以找到此功能的文档?

示例示例:

4

2 回答 2

3

命名空间只是一个字符串,通常采用 URI 的形式。它以 .xsd 结尾的事实可能意味着定义它的人对使用相同的字符串来标识名称空间和名称空间的模式有一些好主意,这可能是一个好主意,也可能不是一个好主意,但就目前而言就命名空间而言,是无关紧要的。

于 2012-09-12T14:33:17.007 回答
2

没什么特别的xmlns:web。它只是命名空间的声明http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd,以及该命名空间与web前缀的关联。

于 2012-09-12T14:13:53.320 回答