QName and Namespace
来源:百度文库 编辑:神马文学网 时间:2024/04/27 14:25:39
2007-09-27 15:01
QName and Namespace
QName对象表示了一个XML元素或属性的qualified name,即一个namespace和一个local name的二元组。
Namespace对象表示了QName二元组中的namespace部分,它由prefix和URI两部分组成。
prefix :前缀,其它就是Name与Vaule中的Name。也可以说是URI的简写的标识。
URI:统一资源标识符 (Uniform Resource Identifier, URI) ,这里定义这样一个URI,并没有实际远程意义,只是你取的字符串代表了你的命名含义。
/******************** SAMPLE XML FILE *************************
xmlns:heavyz="http://www.heavyzheng.com/schema/sample.xsd">
*************************************************************/
public void printRootQNameInfo(Document doc) {
Element root = doc.getRootElement();
QName qname = root.getQName();
System.out.println("local name : " + qname.getName());
System.out.println("namespace prefix: " + qname.getNamespacePrefix());
System.out.println("namespace URI : " + qname.getNamespaceURI());
System.out.println("qualified name : " + qname.getQualifiedName());
return;
}
/************************* OUTPUT *****************************
localname : Sample
namespace prefix: heavyz
namespace URI : http://www.heavyzheng.com/schema/sample.xsd
qualified name : heavyz:Sample
*************************************************************/
XML Name Space----XML 命名空间
这个理解起来总感觉有些抽象,不太好懂,自己学的也是一知半解,但是感觉它的存在却是很不同凡响的,,在XML的应用中,给我们带来了很多方便,也让XML的功能得到了很大的提升,自己感觉的,呵呵,有说的不对的地方,不要见笑哟!
在进入正题之前,我们先引用一个例子:
在上面这个XML中,有点类似于我们以前见到的HTML中的表格的功能,其实你也可以那样简单的认为这样;
在这个XML中,我们描述了一个桌子的信息,这样假如我们把这两个XML放到一个XML文件中,就会遇到命名冲突的问题,于是便有了Name space.
XML的命名空间----解决上述问题的途径:
一.使用前缀解决命名冲突的问题:
上面的两个文件变为以下内容:
1--
Apples Bananas
2--
African Coffee Table 80 120
现在是不是可以很明显的把两种不同的信息分开了呢,通过与就可以方便的引用这两个文件了,
二.使用命名空间来解决这个问题:
1--
Apples Bananas
2---
African Coffee Table 80 120
在上面的例子中,我们除了使用了前缀外,还使用了xmlns属性,xmlns即xml name space的缩写.
命名空间属性:
一般其声明在元素开始标记的地方,格式为:
xmlns:namespace-prefix="namespace"
如:xmlns:f=" http://www.w3.org/TR/xsl "
我们在命名的时候,文中出现的类似URL的东东其实没有实际的意义,只是一种标记.
QName and Namespace
QName对象表示了一个XML元素或属性的qualified name,即一个namespace和一个local name的二元组。
Namespace对象表示了QName二元组中的namespace部分,它由prefix和URI两部分组成。
prefix :前缀,其它就是Name与Vaule中的Name。也可以说是URI的简写的标识。
URI:统一资源标识符 (Uniform Resource Identifier, URI) ,这里定义这样一个URI,并没有实际远程意义,只是你取的字符串代表了你的命名含义。
/******************** SAMPLE XML FILE *************************
*************************************************************/
public void printRootQNameInfo(Document doc) {
Element root = doc.getRootElement();
QName qname = root.getQName();
System.out.println("local name : " + qname.getName());
System.out.println("namespace prefix: " + qname.getNamespacePrefix());
System.out.println("namespace URI : " + qname.getNamespaceURI());
System.out.println("qualified name : " + qname.getQualifiedName());
return;
}
/************************* OUTPUT *****************************
localname : Sample
namespace prefix: heavyz
namespace URI : http://www.heavyzheng.com/schema/sample.xsd
qualified name : heavyz:Sample
*************************************************************/
XML Name Space----XML 命名空间
这个理解起来总感觉有些抽象,不太好懂,自己学的也是一知半解,但是感觉它的存在却是很不同凡响的,,在XML的应用中,给我们带来了很多方便,也让XML的功能得到了很大的提升,自己感觉的,呵呵,有说的不对的地方,不要见笑哟!
在进入正题之前,我们先引用一个例子:
Apples | Bananas |
XML的命名空间----解决上述问题的途径:
一.使用前缀解决命名冲突的问题:
上面的两个文件变为以下内容:
1--
2--
现在是不是可以很明显的把两种不同的信息分开了呢,通过
二.使用命名空间来解决这个问题:
1--
2---
在上面的例子中,我们除了使用了前缀外,还使用了xmlns属性,xmlns即xml name space的缩写.
命名空间属性:
一般其声明在元素开始标记的地方,格式为:
xmlns:namespace-prefix="namespace"
如:xmlns:f=" http://www.w3.org/TR/xsl "
我们在命名的时候,文中出现的类似URL的东东其实没有实际的意义,只是一种标记.
QName and Namespace
using namespace std
using namespace std
using namespace std详解
Implementing a Driver Namespace
什么是命名空间(Namespace)
C++ using namespace std 详解
is not a class or namespace name
C++中的全局namespace 它对作用域问题
struts2配置中Action的name 和package的name和namespace是什么作用
struts2配置中Action的name 和package的name和namespace是什么作用
Building and Installing ACE and Its Auxiliary Libraries and Services
google and microsoft interview questions and solutions
Beijing and Havana: Political Fraternity and ...
java, unicode and xml
process control and management
process control and management1
unix and c
Faculty and Staff
CScanGenner Design And Implement
David and Google
MIT Policies and Procedures
Solidot - Rails and Django
Slate | Trial and Terror