- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 XML schema 《XML编程原理与实例教程》电子教案
第四章 XML schema 4.1 XML schema简介 Schema是一种与DTD类似的,同样用于定义在各种XML文档中使用标记的规范的一个工具。 从功能上来讲,Schema与DTD是等效的,但是前者比后者更具灵活性,由于DTD使用了一种特殊的规范来定义使用XML标记的规范,有许多常用的限制不能用DTD来表述,人们开始寻求另外的解决方法,微软发展了一套不同于DTD方法来定义XML数据类型,这个方法成为了现今的W3C定义的Schema的原型。 4.2 XML Schema与DTD的比较 Schema具有如下优点: 一致性:Schema使得对XML的定义不必再利用一种特定的形式化的语言,而是直接借助XML自身的特性,利用XML的基本语法规则来定义XML文档的结构,使得XML达到了从内到外的统一,也为XML的进一步发展奠定了坚实的基础。 扩展性:Schema对DTD进行了扩充,引入了数据类型、命名空间,从而使其具备较强的可扩展性。 互换性:利用Schema,我们能够书写XML文档以及验证文档的合法性。另外,通过特定的映射机制,还可以将不同的Schema进行转换,以实现更高层次的数据交换。 规范性:同DTD一样,Schema也提供了一套完整的机制以约束XML文档中置标的使用,但相比之下,后者基于XML,更具有规范性。Schema利用元素的内容和属性来定义XML文档的整体结构,如哪些元素可以出现在文档中、元素间的关系是什么、每个元素有哪些内容和属性以及元素出现的顺序和次数等等,都可一目了然。 4.3 XML元素声明 4.3.1根元素 4.3.2简单元素 4.3.3复杂元素 4.3.4特殊元素 4.3.5元素组 4.3.6元素限制 4.3.7全局元素与局部元素 4.3.8 any元素 4.3.1 根元素 每一个schema文档都必须拥有一个根元素——schema元素,并且这个根元素也是唯一的。 Schema文档其他所有的元素及其属性声明和数据类型定义都必须嵌套在根元素中。 4.3.2 简单元素 简单元素是指不包含子元素和属性的元素。 是一种简单数据类型的元素。 简单元素的数据类型既可以是内建数据类型,也可以是用户派生的简单类型。 4.3.2 简单元素 声明一个简单元素的具体的语法格式如下: xsd:element name=”element-name” type=”data-type”/ xsd: simpleType name=”data-type” … /xsd: simpleType 4.3.3 复杂元素 包含子元素的元素就是复杂元素,对应的,它属于复杂数据类型。声明一个复杂元素的语法规则是: xsd:element name=”element-name” type=”data-type”/ xsd:complexType name=” data-type” xsd:sequence xsd:element name=”child1”/ xsd:element name=”child2”/ … /xsd :sequence /xsd:complexType 4.3.4 特殊元素 1.空元素 空元素就是元素内容为空值的元素,它也不包含子元素。有两种表示空值的方法:使用属性 nillable=”true” 或者使用属性 minOccurs=”0”。 2.ANY类型的元素 一个anyType类型不以任何形式约束其包含的内容,我们可以象使用其他类型一样使用anyType。声明一个元素为anyType类型的语法是: xsd:element name=”element-name” type=”xsd:anyType” 4.3.4 特殊元素 3.混合内容元素 如果一个元素,它既需要包含子元素,又需要包含字符数据,那么它就必须作为一个混合内容形式的元素。 具体的语法格式如下: xsd:element name=”element-name” xsd:complexType mixed=”true” xsd:sequence … /xsd:sequence /xsd:complexType /xsd:element 4.3.4 特殊元素 4.选择型元素 如果一个元素只能在有限的几个子元素中选择一个子元素作为元素内容,那么需要将它声明为选择型的元素,选择型元素也是复杂类型元素。 具体的格式如下: xsd:element name=”element-name” xsd:complexType xsd:choice xsd:element name=”child1” type=”data-type”/ xsd:element name=”child2” typ
您可能关注的文档
最近下载
- 22G101 三维彩色立体图集.docx VIP
- 2010年考研英语一真题解析.pdf VIP
- 柔性吊桥计算书程序.xls VIP
- 崔德山-岩土测试技术3-第1篇室内试验-土的理化试验.ppt VIP
- 2025小升初英语基础时态专项训练题及答案.pdf VIP
- 崔德山-岩土测试技术4-第1篇室内试验-土的力学试验.pptx VIP
- 超重和失重 教学设计 高中物理新人教版必修第一册(2023~2024学年).docx VIP
- 奥数应用题(和差、和倍、差倍).docx VIP
- (完整版)和差、和倍、差倍问题应用题.doc VIP
- 小学英语 2024年新疆克拉玛依市白咸滩区小升初英语试卷.pdf VIP
文档评论(0)