Xmlns与targetNamespace 的区别

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

首先上一段代码

[html] view plain copy
  1. <xs:schemaxmlns: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. spanstyle="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 …>。

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念