1.命名空间的作用是自动为 XML 标签补全前缀,避免标签命名冲突 (因为开发者可自定义的标签名,存在冲突可能)。
例如,Spring 的 XML 配置文件,配置项都在 <beans> 标签中,但这时开发者如果自定义一个自己的标签,同样命名为 <beans>,便造成了冲突,XML 解析器无法分辨这些冲突的命名。
此时命名空间便派上用场了。在 <beans> 开始标签中添加命名空间,实际上 XML 解析器会自动为该标签名补全前缀,以区别其他的标签,避免了命名的冲突。
Spring 的 XML 配置文件中命名空间的作用,也是大致相同:避免标签命名冲突。
我们再来看看 Spring 中的命名空间,可以发现在最基本的配置中,含有 xmlns, xmlns:xsi, xsi:schemaLocation 三项,这三项是 Spring 最基本的命名空间,其含义如下:
- 1.xmlns 表示是该 XML 文件的默认命名空间;
- 2.xmlns:xsi 表示该 XML 文件遵守 xml 规范;
- 3.xsi:schemaLocation 表示具体用到的 schema 资源。