现在的位置: 首页 > 综合 > 正文

Xmlns与targetNamespace 的区别

2018年01月18日 ⁄ 综合 ⁄ 共 1020字 ⁄ 字号 评论关闭

这几天刚看XML文档,对Xml schema 中xmlns与targetNamespace 之前的关系有点疑惑,网上一看,竟然也有人怀有同样的问题。可是答案却不尽人意,所以我专门理了半天,最后终于有点眉目。

首先上一段代码:

[html] view
plain
copy

  1. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  
  2.     xmlns:abc="http://www.abc.org/schema"  
  3.     targetNamespace="http://www.thisxml.com/schema"  
  4.     xmlns="http://www.thisxml.com/schema"  
  5. <span style="white-space:pre">  </span>elementFormDefault="qualified" attributeFormDefault="unqualified">  
  6. </xs:schema>  

其中有三个xmlns:xmlns:xs、xmlns:abc、xmlns,还有targetNamespace

我最头疼的是xmlns与targetNamespace的空间网址竟然一样,而悲催的文档作者却没有详细解释,百度上也无解,Google的Endlish又太深奥。

其实一旦你理解了就相当简单。

targetNamespace 相当于 java文件中最开始头文件中的package, 只不过等号后面形式不一样,不是包名 www.thisxml.com.schema 而是 "http://www.thisxml.com/schema"。

而xmlns 相当于 import。只不过这个“import”后面还要带个小名。

如:  xmlns:发哥=”www.xianggang.org/周润发”

          xmlns:星爷=”www.xianggang.org/周星驰”

这样在后面,我们要用到他们写标签元素时就要加上小名:

如:<星爷:book  …> 

<发哥:pad …>

而xmlns后面没有小名的就牛X的,xmlns=”www.xianggang.org/成龙”  就相当如凡是在<schema>这个元素下,没有 加小名的便签都是成龙的。如<book …> <pad …>。

文章来自于:http://blog.csdn.net/markho365/article/details/8295918

抱歉!评论已关闭.