web.xml中的xmlns表示默认命名空间,xmlns:xxx表示非默认的命名空间,写法是将xxx:作为前缀编写标签或属性。
默认命名空间的值是xmlns=后面的值。 无论是否是默认命名空间,它们的约束文件都在xsi:schemaLocation属性中指定:以key value的形式给出,key就是命名空间的值,value就是约束文件的URI。
拿上图举例:默认命名空间的约束文件(它对应的key是默认命名空间的值)就是web-app_4_0.xsd,其中,include另一个schema文件,如下图:
在web-common_4_0.xsd中定义了许多默认命名空间中的标签,如:
<context-param>
<listener>
<servlet>
等。 如下图所示:
综上,其它非默认命名空间都会以【非默认命名空间】空格【约束文件URI】的形式写在xsi:schemaLocation属性值里。符合约束文件中的约定的标签都是合法的,只不过默认命名空间的标签label可直接写<label>,而非默认命名空间的标签flabel需要加对应的前缀:<前缀:flabel>