xml名字空间是为了防止代表不同含义的元素名称在相同文件里的冲突而定义的。
如:
<bb>
<zhang>M</zhang>
</bb>
zhang代表一个人,再看下面的例子
<aa>
<zhang>120m</zhang>
</aa>
zhang 代表长度,如果把上面的两个文件合到一块,那么就不知道zhang代表什么意思了。
于是给他们个名字空间,名字空间不代表任何含义,只说明他们是唯一的,在全球范围内,怎么才能说明是唯一呢,于是就想到了域名,名字空间和域名一样有专门的管理人员。看下面的代码:
<s:bb xmlns:s="http://zhidao.uu.com">
<s:zhang>M</s:zhang>
</s:bb>
<x:aa xmlns:x="http://zhuyi.cc.cn">
<x:zhang>120m</x:zhang>
</x:aa>
这样就区分了他们的名字,在应用程序解析 使用的时候就不会有问题。但是又有个问题,这样写也太累赘了,
于是有个默认的名字空间,可以省略前缀,名字空间在标签的范围内有效;如下:
<bb xmlns="http://zhidao.uu.com">
<zhang>M</zhang>
</s:bb>
<aa xmlns="http://zhuyi.cc.cn">
<zhang>120m</zhang>
</aa>
这样就很简洁了。
顺便提下关于URI,URL,URN的概念,
URI 统一资源标示符 URI包括URL和URN
URL 统一资源定位器
URN 统一资源命名