您的位置:首页 > 其它

Xmlns与targetNamespace 的区别

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

首先上一段代码:

[html] view
plaincopy

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  

    xmlns:abc="http://www.abc.org/schema"  

    targetNamespace="http://www.thisxml.com/schema"  

    xmlns="http://www.thisxml.com/schema"  

<span style="white-space:pre">  </span>elementFormDefault="qualified" attributeFormDefault="unqualified">  

</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 …>。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: