




免费预览已结束,剩余33页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章XML模式定义-XSD,什么是XMLSchema,XMLSchema语言也称作XMLSchema定义(XMLSchemaDefinition,XSD)。它的作用同DTD一样用于对XML文档进行约束,确定XML文档的结构、元素及属性的名称和数据类型等。,4.1XMLSchema与DTD,XMLSchema基于XML语法DOM、SAX等XMLAPI很容易解析出XMLSchema文档中的内容。XMLSchema比XMLDTD支持更多的数据类型,并支持用户自定义新的数据类型。XMLSchema支持命名空间,可以在其他Schema中重复使用您的Schema或在相同的文档中引用多个Schema,使XML文档具有更强的可扩展性XMLSchema不能像DTD一样定义实体。XmlSchema现在已是w3c组织的标准,它正逐步取代DTD。,如何使用XSD,GeorgeJohnReminderDontforgetthemeeting!,Note.xml,Note.dtd,如何使用XSD,Note.xsd,4.2Schema的文档结构,所有Schema文档使用schema作为其根元素,用于构造schema的元素和数据类型来自/2001/XMLSchema命名空间,推荐使用的命名空间前缀通常有两种表示形式:xsd:XMLSchemaDocument的缩写表示xs:XMLSchema的缩写表示,在XML文档中引用Schema,GeorgeJohnReminderDontforgetthemeeting!,Note.xml,4.3Schema的数据类型,简单类型:内置的数据类型基本的数据类型派生的数据类型用户自定义数据类型(通过simpleType定义)复杂类型(通过complexType定义),复杂类型只可做元素。包含简单内容的复杂类型内容是简单类型值,并包含属性;包含复杂内容的复杂类型包含子元素、空元素或混合内容的元素,不管是否包含属性。,简单类型既可做元素,也可做属性。简单类型的元素内容必须是简单类型值,不能包含子元素或者属性。,用户自定义的简单数据类型语法,自定义数据类型的内容模式,Restriction中可以使用的关键字及含义,【例1】创建自定义数据类型,该数据类型为取值范围介于0100之间的整数。,【例2】创建自定义数据类型,该数据类型取值必须为male或者female。,匿名类型的定义:如果在模式文档中用户定义的数据类型只需使用一次,可采用匿名定义。,【例3】定义一个名为“studentID”的元素。取值必须是长度为6的字符串,并且匹配模式为“14dddd”。,复杂数据类型的声明语法,内容模型定义(包括子元素和属性的声明),complexType使用示例,如果在模式文档中用户定义的复杂数据类型只需使用一次,也可采用匿名类型定义。,complexType与simpleType区别,当需要基于内置的基本数据类型定义一个新的数据类型时,用simpleType。simpleType类型的元素中不能包含元素或者属性。当需要声明一个元素,它含有子元素或属性时,用complexType。,4.4模式文件中的元素声明,type:简单元素的type属性必须是简单数据类型。复杂元素的type属性必须是个复杂数据类型。Occurrence指示器用于定义某个元素出现的频率minOccurs:其最小值为0,默认值为1。该属性可选。maxOccurs:其最小值为1,最大值为unbounded(表示无限多次),默认值为1。该属性可选。default:指明元素的默认值。该属性可选。fixed:指明元素的固定值。与default属性不能同时存在。该属性可选。ref:指明元素参考已定义的元素。,实例4-2schemaRef.xsd,minOccurs和maxOccurs的取值要根据XMLSPY的提示。,复杂元素的Order指示器,Order指示器用于定义元素的顺序。对于所有的Order指示器,其中的maxOccurs以及minOccurs的默认值均为1。sequence规定子元素必须按照特定的顺序出现。可将sequence元素的maxOccurs属性设置为unbounded(无限次),表示整个顺序组合可出现无限次,而只能把minOccurs属性设置为1。choice指示器规定在多个元素中只有一个元素必须出现,用于互斥情况。如需设置允许子元素以任意顺序出现,出现任意次数,可将choice元素的maxOccurs属性设置为unbounded(无限次)、minOccurs属性设置为0。all指示器规定子元素可以按照任意顺序出现,且只能出现一次。all元素的maxOccurs属性必须为1,而minOccurs属性可以为0或者1。为了定义更为复杂的类型,sequence和choice可以彼此嵌套,嵌套的层数没有限制。booksc.xsdall指示器的父元素必须是complexType或group。注意理解Order指示器所包含的每个子元素的minOccurs和maxOccurs属性含义。books.xsdbookc.xsdbooka.xsd,4.5模式文件中的属性声明,type:必须是简单数据类型。Use:指明XML实例文档中属性的使用方式取值为”optional”时表明该属性可有可无,该取值为默认值;取值为”required”时,表明该属性是必须出现的;取值为”prohibited”表示不能使用该属性。注意:在complexType定义中,属性的声明必须被置于最后。,teacher.xsd,【例4】声明一个可有可无的属性。,【例5】声明一个禁止使用的属性。,复杂元素的四种类型,复杂元素指包含其他元素及(或)属性的XML元素,有四种类型的复杂元素:空元素包含其他元素的元素仅包含文本的元素包含元素和文本的元素注释:上述元素均可包含属性!,复杂元素空元素,复杂元素仅含元素,JohnSmith,复杂元素仅含文本,35,复杂元素混合内容,DearMr.JohnSmith.Yourorder1032willbeshippedon2001-07-13.,4.6Group指示器,group:创建元素组attributeGroup:创建属性组。注意:对于Group指示器,其中的maxOccurs以及minOccurs的默认值均为1。,group元素,作用:把一组元素声明组合在一起,以便它们能够一起被复合类型应用属性:name/ref示例:,attributeGroup元素,作用:把一组属性声明组合在一起,以便可以被复合类型应用属性:name/ref示例:,XMLSchema与命名空间,XMLSchema提供了三个特殊属性,用于对模式文档中所定义的元素和属性的命名空间进行限定,这三个隶属于根元素schema的属性分别为:targetNamespace通过targetNamespace指定所定义元素或属性所隶属的命名空间,默认情况下仅对全局声明的元素和属性起作用(未设置elementFormDefault和attributeFormDefault)elementFormDefaultunqualified(默认值):内部元素不受目标命名空间的约束qualified:内部元素也将受到目标命名空间的约束attributeFormDefaultunqualified(默认值):内部自定义的属性不受目标命名空间的约束qualified:受目标命名空间约束,数据挖掘夏天,1)elementFormDefault=“qualified”且attributeFormDefault=qualified,数据挖掘夏天,2)elementFormDefault=“qualified”且attributeFormDefault=“unqualified,数据挖掘夏天,3)elementFormDefault=“unqualified”且attributeFormDefault=qualified,数据挖掘夏天,4.7模式重用,模式的一个关键特征是支持高度重用性。在一个模式中声明的组件能够被另一个模式重用。通过包含(include)或导入(import)机制,一个主模式文档可以由多个模式文档组合而成。当其他模式文档与主模式文档具有相同的目标命名空间时,可以使用包含方式;当各自拥有不同的目标命名空间时,则使用导入方式。,include元素,include元素允许引用任何在同一目标命名空间的上下文中被定义的外部模式。语法:include元素包含2个属性:id用来指定元素的ID。ID必须是唯一的,但ID属性是可选择的。schemaLocation指定模式文件的物理地址。,import元素,import和include完成同样功能,但import允许访问来自多个不同目标命名空间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 印制电路机加工转正考核试卷及答案
- 抖音信息流营销方案
- 气体分离工培训考核试卷及答案
- 七年级代数方程专项辅导练习题
- 罐头企业安全文化评价与改进分析报告
- 汽车维修业务流程标准化方案
- 香肠淀粉改性技术应用报告
- 会计证书考试题目及答案
- 津南教师考试题目及答案
- 液状化妆品制造工主管竞选考核试卷及答案
- 百度在线朗读器
- 颅脑外伤患者的麻醉管理专家共识(2021版)
- 质量警示卡模板
- DZ∕T 0219-2006 滑坡防治工程设计与施工技术规范(正式版)
- 《马克思主义基本原理概论》试题库含答案(典型题)
- JJG 86-2011 标准玻璃浮计
- 产业园转让协议样本
- 剪式升降台的驱动机构设计
- 山西省中考语文模拟试卷及答案汇总五
- 25道中国民航航空医生岗位常见面试问题含HR常问问题考察点及参考回答
- SF095广州市社会保险费补缴申请表
评论
0/150
提交评论