第四章-XML-schema-《XML编程原理与实例教程》电子教案课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第四章-XML-schema-《XML编程原理与实例教程》电子教案课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XML编程原理与实例教程 第四 XML schema 编程 原理 实例教程 电子 教案 课件
- 资源描述:
-
1、第四章 XML schema 4.1 XML schema简介nSchema是一种与DTD类似的,同样用于定义在各种XML文档中使用标记的规范的一个工具。n从功能上来讲,Schema与DTD是等效的,但是前者比后者更具灵活性,由于DTD使用了一种特殊的规范来定义使用XML标记的规范,有许多常用的限制不能用DTD来表述,人们开始寻求另外的解决方法,微软发展了一套不同于DTD方法来定义XML数据类型,这个方法成为了现今的W3C定义的Schema的原型。4.2 XML Schema与与DTD的比较的比较Schema具有如下优点:n一致性:Schema使得对XML的定义不必再利用一种特定的形式化的语言
2、,而是直接借助XML自身的特性,利用XML的基本语法规则来定义XML文档的结构,使得XML达到了从内到外的统一,也为XML的进一步发展奠定了坚实的基础。n扩展性:Schema对DTD进行了扩充,引入了数据类型、命名空间,从而使其具备较强的可扩展性。n互换性:利用Schema,我们能够书写XML文档以及验证文档的合法性。另外,通过特定的映射机制,还可以将不同的Schema进行转换,以实现更高层次的数据交换。n规范性:同DTD一样,Schema也提供了一套完整的机制以约束XML文档中置标的使用,但相比之下,后者基于XML,更具有规范性。Schema利用元素的内容和属性来定义XML文档的整体结构,如
3、哪些元素可以出现在文档中、元素间的关系是什么、每个元素有哪些内容和属性以及元素出现的顺序和次数等等,都可一目了然。4.3 XML元素声明元素声明n4.3.1根元素n4.3.2简单元素n4.3.3复杂元素n4.3.4特殊元素n4.3.5元素组n4.3.6元素限制n4.3.7全局元素与局部元素n4.3.8 any元素4.3.1 根元素根元素n每一个schema文档都必须拥有一个根元素schema元素,并且这个根元素也是唯一的。nSchema文档其他所有的元素及其属性声明和数据类型定义都必须嵌套在根元素中。4.3.2 简单元素简单元素n简单元素是指不包含子元素和属性的元素。n是一种简单数据类型的元素
4、。n简单元素的数据类型既可以是内建数据类型,也可以是用户派生的简单类型。4.3.2 简单元素简单元素n声明一个简单元素的具体的语法格式如下:nnxsd:simpleType name=”data-type”nn4.3.3 复杂元素复杂元素n包含子元素的元素就是复杂元素,对应的,它属于复杂数据类型。声明一个复杂元素的语法规则是:nnnnnnnn4.3.4 特殊元素特殊元素n1.空元素空元素就是元素内容为空值的元素,它也不包含子元素。有两种表示空值的方法:使用属性 nillable=”true”或者使用属性 minOccurs=”0”。n2.ANY类型的元素一个anyType类型不以任何形式约束其
5、包含的内容,我们可以象使用其他类型一样使用anyType。声明一个元素为anyType类型的语法是:4.3.4 特殊元素特殊元素n3.混合内容元素n如果一个元素,它既需要包含子元素,又需要包含字符数据,那么它就必须作为一个混合内容形式的元素。n具体的语法格式如下:nnnnnnn4.3.4 特殊元素特殊元素n4.选择型元素n如果一个元素只能在有限的几个子元素中选择一个子元素作为元素内容,那么需要将它声明为选择型的元素,选择型元素也是复杂类型元素。n具体的格式如下:nnnnnnnnn4.3.5 元素组元素组n在一个元素的多个子元素中,有时候几个子元素之间存在一些逻辑上的联系,比如我们描述地址时,门
6、牌号、街道和城市这几个元素就存在联系,这时候如果将它们分为一组也是较为合适的。n基于这种需要,因此XML提供了一个声明若干个元素为一组的机制,这就是元素组。4.3.5 元素组元素组n具体的格式如下:nnnnnnn4.3.6 元素限制元素限制n可以通过指定元素的minOccurs和maxOccurs属性来限制元素的出现次数。n当需要指定元素的默认值时,就需要使用到元素的default属性和fixed属性。n使用sequence关键字的意思就是规定子元素在xml文档中的出现顺序是顺序出现的与schema文件中声明的顺序一致。nall,这种方式使得序列中的元素可以按照任意的顺序出现,但是这些元素每个
7、最多只能出现一次。nchoice,这一种也即是前面介绍过的选择型元素,它起到的作用就是在若干个给定的子元素中选择一个出现在XML文档中,注意只能选择一个,不能选多个,也不能选择不在给定范围内的子元素。4.3.7 全局元素与局部元素全局元素与局部元素n在schema文件中,schema根元素的直接子元素就是全局元素。n局部元素就是它的父元素不是schema根元素的元素。4.3.8 any元素元素nXML存在一个较为特殊的元素,那就是any元素,在复杂类型内使用 any元素意味着任何元素都可以出现在那个位置上,这可有效地使它成为事先无法预知的内容的占位符。4.3.8 any元素元素n使用any元素
8、时,也可以通过指定它的名称空间属性namespace来指明any元素的详细情况,namespace有四种取值,分别为:n#any:来自任何命名空间的任何元素 n#local:任何非限定元素(不属于命名空间)n#other:非targetNamespace命名空间中的任何元素 n#targetNamespace:targetNamespace 中的任何元素 4.4 XML schema 属性声明属性声明n4.4.1声明属性n4.4.2属性引用n 4.4.3属性组n 4.4.4 any类型属性n 4.4.5属性限制4.4.1 声明属性声明属性n使用attribute关键字来声明一个属性。n与元素不
9、同,属性都需要是简单的数据类型。n声明属性的语法如下:4.4.2 属性引用属性引用n属性也存在引用,可以引用已声明的属性来作为自己元素的属性。n声明一个属性引用使用的关键字也是ref,具体的格式如下:n注意引用的属性一定要有声明,不能引用不存在的属性。4.4.3 属性组属性组n属性也可以声明成一组属性组。声明属性组使用的关键字是:attributeGroup,具体的格式请看下面:nnnnnn属性组有助于XML文档结构的模块化,允许在一处声明常用的属性集合,然后在一个或多个文档中引用。4.4.4 any类型属性类型属性n属性也有一个用声明任意属性类型的方法,这就是使用anyAttribute关键
10、字进行属性声明。n声明为any类型的属性也就具备了占位符的功能,在XML文档实例中它允许将这种类型的属性替换成任意类型的属性。n它也提供名称空间属性,相应的属性值取值也是分别为:n#any:来自任何命名空间的任何元素 n#local:任何非限定元素(不属于命名空间)n#other:非targetNamespace命名空间中的任何元素 n#targetNamespace:targetNamespace 中的任何元素 4.4.5 属性限制属性限制n关键字use来对属性的出现做出限制。nuse的值可以为:required、optional和prohibited三种,相应的意思分别为必须出现、选择出现
11、和禁止出现 4.4.5 属性限制属性限制ndefault和fixed两个值用于规定属性的内容。ndefault规定属性的默认值,而fixed规定属性的内容一定要是fixed指定的值。n并且当一个属性指定了default值的话,那么如果需要指定use的值,就一定要选择optional。4.5 注释注释nXML Schema提供三个元素用于注释,以提高代码的可读性,并且也可以为其它应用程序提供一定的辅助信息。n三个元素分别是:annotation、documentation和appinfo,其中documentation和appinfo是annotation的子元素。4.6 XML Schema数
展开阅读全文