有关XML的定义和语法规则的东东在这里http://blog.csdn.net/moreevan/article/details/6676112,在这篇文章里我们将来看一下namespace(命名空间)和xml schema(模式)的知识。这次的内容都摘自于http://www.w3school.com.cn,因为加了.cn,所以我们这次的内容
也就直接 是用中文来表达 的了,看起来也省不少劲了,吼吼。。
命名空间
XML 命名空间提供避免元素命名冲突的方法。其实就通过在元素名称前面 加不同的前缀来避免冲突的,这个就像C++中的namespace一样。
在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。这里的意思 应该是当两个文档被一起使用的时候。
XML Namespace (xmlns) 属性
XML 命名空间属性被放置于元素的开始标签之中,并使用以下的语法:
xmlns:namespace-prefix="namespaceURI"
当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。
注释:用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。
默认的命名空间(Default Namespaces)
为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。
请使用下面的语法:
下面通过一个例子来看一下
在这个例子中我们定义了一个默认的命名空间,com.kevin.default,第一个和第三个User将关联到此命名空间,而第二个User将关联到我们定义 的另一个命名空间kevin。
XML Schema
l XML Schema 是基于 XML 的 DTD 替代者。
l XML Schema 描述 XML 文档的结构。
l XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。
什么是 XML Schema?
XML Schema 的作用是定义 XML 文档的合法构建模块,类似 DTD。
XML Schema:
- 定义可出现在文档中的元素
- 定义可出现在文档中的属性
- 定义哪个元素是子元素
- 定义子元素的次序
- 定义子元素的数目
- 定义元素是否为空,或者是否可包含文本
- 定义元素和属性的数据类型
- 定义元素和属性的默认值以及固定值
XML Schema 是 DTD 的继任者——具有的优势
我们认为 XML Schema 很快会在大部分网络应用程序中取代 DTD。
理由如下:
- XML Schema 可针对未来的需求进行扩展
- XML Schema 更完善,功能更强大
- XML Schema 基于 XML 编写
- XML Schema 支持数据类型
- XML Schema 支持命名空间
下面这个例子是一个名为 "note.xsd" 的 XML Schema 文件
note 元素是一个复合类型,因为它包含其他的子元素。其他元素 (to, from, heading, body) 是简易类型,因为它们没有包含其他元素。您将在下面的章节学习更多有关复合类型和简易类型的知识。
下面我们对上面 的代码进行一个简单的解释:
xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
显示 schema 中用到的元素和数据类型来自命名空间"http://www.w3.org/2001/XMLSchema"。同时它还规定了来自命名空间"http://www.w3.org/2001/XMLSchema" 的元素和数据类型应该使用前缀 xs:
<schema> 元素是每一个 XML Schema 的根元素,<schema> 元素可包含属性。一个 schema 声明往往看上去类似这样:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">
...
...
</xs:schema>
mlns:xs="http://www.w3.org/2001/XMLSchema"
显示 schema 中用到的元素和数据类型来自命名空间 "http://www.w3.org/2001/XMLSchema"。同时它还规定了来自命名空间"http://www.w3.org/2001/XMLSchema" 的元素和数据类型应该使用前缀 xs:
targetNamespace="http://www.w3school.com.cn"
显示被此 schema 定义的元素 (note, to, from, heading, body) 来自命名空间: "http://www.w3school.com.cn"。
这个片断:
xmlns="http://www.w3school.com.cn"
指出默认的命名空间是 "http://www.w3school.com.cn"。
这个片断:
elementFormDefault="qualified"
指出任何 XML 实例文档所使用的且在此 schema 中声明过的元素必须被命名空间限定。
对 XML Schema 的引用
此文件包含对 XML Schema 的引用:
上面的代码中
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
定义了可用的 XML Schema 实例命名空间
xsi:schemaLocation="http://www.w3school.com.cn note.xsd"
定义了XML Schema的位置
关于Schema的知识我们知道 这些其实平时做Android开发或都java web开发我觉得也差不多了,因为到现在我做为一个菜鸟还没有自己写过Schema。。
更多内容请猛击http://www.w3school.com.cn
(END)
分享到:
相关推荐
资源名称:XML基础教程 第二版 资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
-XML基础教程源码-code-XML基础教程源码-code
xml是w3c组织提出的一种可扩展性的标记语言,是独立于计算机平台的数据交换规范,PPT主要包括了xml概述,xml语法,文档类型定义,css,xslt,文档对象模型,xml与数据库等知识篇章,同时提供相关章节的例题源代码
XML基础及实践开发教程(唐琳-主编)课后习题习题答案
非常好的xml示例,简单易学! 第一章 XML基础 第二章 Schema 第三章 文档对象模型 第四章 使用XSLT 第五章 数据岛
的方式大幅非比寻常 噶是蛋糕噶是蛋糕士大夫艾丝凡地方噶时代感爱上阿斯蒂芬
XML基础知识 一、 XML: a) XML是Extensible Markup Language的缩写,即可扩展标记语言,是一种简单的数据存储语言,使用一系列简单的标记来描述数据。 二、 XML的特点: a) XML与操作系统、编程语言的开发平台都...
XML程序设计是耿祥义教授编写的教程,这是课件
XML(Extensible ...扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
ASP.NET_XML深入编程技术....XML基础教程.chm XML学习指南 XML官方指南中文版(CHM) XML实用大全.chm XML指南.chm XML编程从入门到精通.pdf XML网页制作实作教程 xml解决方案开发实务.pdf XML高级编程 无废话XMLl(PDF)
第一章:在学习XML之前你应该掌握什么 2 第二章:怎么使用XML 3 第三章:XML的语法 4 第四章:文档类型定义 DTD(Document Type Definition) 6 第五章:在NetScape和IE中的XML 8 第六章:微软的XML...
第一章 XML基础 第二章 XML语法 第三章 DTD 第四章 Schema 第五章 名域. 第六章 CSS 第七章 XSL. 第八章 XPath、XLink和XPointe 第九章 XML的DOM接口 第十章 SAX. 第十一章 数据库访问 附 录 应用程序实例
因此,正确读写XML文档是XML应用的基础. Java提供了SAX和DOM两种方式用于解析XML,但即便如此,要读写一个稍微复杂的XML,也不是一件容易的事. 二、XMLBean简介 Hibernate已经成为目前流行的面向Java...
7.1.3 二义性与名称冲突 7.2 命名空间 7.3 定义和声明命名空间 7.3.1 声明一个命名空间 7.3.2 限定名 7.3.3 范围 7.4 在格式正规的书籍里使用命名空间 实例 7.5 模式 7.5.1 与DTD有关的问题 7.5.2 一个对...
传智播客_张孝祥_Java.Web_XML基础第二讲(共3个part ,这是第2个)
传智播客_张孝祥_Java.Web_XML基础第二讲(共3个part ,这是第3个)
传智播客_张孝祥_Java.Web_XML基础第二讲(共3个part ,这是第1个)
第一部分(XML基础),内容包括:什么是XML语言,新一代网络编程语言XML,XML的应用与发展前景,XML工具; 第二部分(XML的语言基础),内容包括:XML 语法,XML链接语言,XML指针语言; 第三部分(XML...
可扩展标记语言(XML)是由万维网联盟(W3C)发布的用于网页设计和数据交换的新技术,具有良好的...最后,本书向读者展示了XML在不同领域中的应用实例,并在附录中给出了XML参考资料以及XML 1.0规范第二版的完整内容。
XML开发网站应用 03、第二部分:XML的语言基础.pdf