关于XML文档的xmlns、xmlns:xsi和xsi:schemaLocation
摘要:相信很多人和我一样,在编写Spring或者Maven或者其他需要用到XML文档的程序时,通常都是将这些XML文档头拷贝过来,并没有理解其中元素 (比如xmlns,xmlns:xsi,xsi:schemaLocation)的真正含义,不知道哪些元素是多余的,也不知道为什么要加那些元素。这样 当有时候网... 话不多说,先来一段Spring的XML样本,相信大家都很眼熟:
这 个文档中,根元素<beans/>就不用说了,接下来是xmlns。那么什么是xmlns呢?xmlns其实是XML Namespace的缩写,可译为“XML命名空间”,但个人觉得,翻译后的名字反而不好理解,所以我们就叫它为XML Namespace吧。
为什么需要xmlns?考虑这样两个XML文档:表示HTML表格元素的<table/>:
和描述一张桌子的<table/>:
5
|
name
>AfricanCoffeeTable</
width
>80</
length
>120</
>
|
如何是用xmlns?
很简单,使用语法:xmlns:namespace-prefix="namespaceURI"。其中namespace-prefix为自定义前缀,只要在这个XML文档中保证前缀不重复即可;namespaceURI是这个前缀对应的XML Namespace的定义。例如,xmlns:context="http://www.springframework.org/schema/context" |