xml实用教程:第5章 XML Schema结构.doc
文本预览下载声明
第5章 XML Schema结构? 返回主页? 上一章 下一章
教学提示:XML schema是DTD(文件类型定义)之后第二代用来描述XML文件的标准。是用来对XML文档的类型定义的语言,用来规定XML文档的数据类型及组织方式,同时还是丰富的元数据资源。XML schema是一种定义文件的方式,拥有许多类似DTD的准则,但又要比DTD更为强大一些。W3C协会宣称,与DTD相比XML schema拥有许多优势。
教学目标:理解XML Schema的含义及用途,了解XML Schema如何为XML文档结构、内容和数据类型建模提供严格而完整的标准,理解XML Schema的元素、属性和类型等构件,理解XML Schema的名称空间的概念。
5.1 Schema概述 5.2 Schema的格式和使用 5.3 Schema元素声明 5.4 Schema属性声明 5.5 Schema的数据类型 5.6 Schema的名称空间 5.7使用XML Spy建立Schema文档 小 结 习 题
☆ 写字版?☆ 绘图板?☆ 进入Editplus
5.1 Schema概述 本章开头 下一节
XML Schema是2001年5月正式发布的W3C(万维网联盟)的推荐标准,经过数年的大规模讨论和开发如今终于奠定下来,成为全球公认的XML环境下首选的数据建模工具。
使用DTD虽然带来较大的方便,但是,DTD存在一些缺陷:一是它是用不同于XML的语言编写的,需要不同的分析器技术。这增加了工具开发商的负担,削减了软件瘦身的可能性,此外开发人员需要多学一门语言及其语法。而XML Schema是按标准XML规则编写的,更容易掌握。 二是DTD不支持名称空间。随着计算日益以XML为中心,信息的相互联系变得日益普及与深入,名称空间作用也将凸现。三是DTD在支持继承和子类方面的局限性,由于面向对象技术的出现,对继承和子类的支持已成为软件技术领域的主流概念。最后,DTD没有数据类型的概念,无法对特定元素施加数据类型,对强制性结构化无计可施,比如如何规定名为Date的数据必须包含有效值。
这些就要依靠XML Schema了。XML Schema不仅可以定义XML文档的结构而且还允许约束文档的内容,这就不同于DTD了。另外,一个 XML Schema自身就是一个XML文档,其基于标签的语法比DTD中的特殊字符要清楚多了。XML Schema正是针对这些DTD的缺点而设计的,它完全使用XML作为描述手段,具有很强的描述能力、扩展能力和处理维护能力。
XML Schema是用一套预先规定的XML元素和属性创建的,这些元素和属性定义了文档的结构和内容模式。
XML Schema也是Web Services技术中需要使用的一个基本工具,然而并不是XML Schema的所有特性都会被广泛地使用,因此,将不对XML Schema规范做系统的介绍。目前主要有两种重要的模式:Microsoft XML Schema和W3C XML Schema,本章主要讨论W3C XML Schema
在下面的例子中,通过使用出现在schema元素中的名称空间声明xmlns:xsd= / 2001/XMLSchema,使得模式文档中的每一个元素都有一个与XML Schema名称空间相联名称空间前缀xsd。尽管在语法上,可以使用任意的前缀形式,但是,名称空间前缀xsd被约定用于表示XML Schema名称空间。由于使用同样的前缀,所以同样的关联就会出现在内置的简单类型的名字中,例如xsd:string。这种形式关联的目的是用来表示当前的元素或简单类型是属于XML Schema语言的内置定义的,而不是属于模式文档作者自己的词汇表的。为了在这里清楚并且简单地表示,仅提及元素的名字和简单类型名,而忽略它们的前缀xsd。
5.2 Schema的格式和使用 上一节 下一节 本章开头
一个XSDL(XML Schema Definition Language)文档由元素、属性、名称空间和XML文档中的其它节点构成的,并且至少要包含:schema根元素和XML模式名称空间的定义、元素定义。
5.2.1 简单实例
【例5.1】关于书籍信息的XML文档, code5_1.xml。
?xml version=1.0 encoding=gb2312?
book isbn=0-764-58007-8
??? title三国演义/title
??? author罗贯中/author
??? price80.00 /price
??? resume滚滚长江东逝水,浪花淘尽英雄。是非成败转头空:青山依旧在,几度夕阳红。白发渔樵江渚上,惯看秋月春风。一壶浊酒喜相逢
显示全部