版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XML验证技术Schema,本课目标,命名空间 XML Schema简介 XML Schema的两种模式 W3C Schema W3C XML Schema完整的示例 W3C Schema的数据类型 简单数据类型 复杂数据类型 W3C Schema元素属性声明 W3C Schema元素声明 W3C Schema属性声明 元素、 属性综合例题 引入外部模式文档 W3C的几种命名空间 小结,命名空间,Namespaces翻译为名字空间或命名空间。 当我们在一个XML文档中使用他人的或者多个DTD文件,就会出现这样的矛盾:因为XML中标识都是自己创建的,在不同的DTD文件中,标识名可能相同但表示的含
2、义不同,这就可能引起数据混乱。 例如:在一个文档中wood table中表示桌子,而在另一个文档namelist中表示表格。如果我需要同时处理这两个文档,就会发生名字冲突。,XML命名空间是XML解决元素多义性和名字冲突问题的方案。 W3C组织的推荐用书对XML命名空间的解释是:“XML命名空间是命名的汇集,它由URI(统一资源标识)确定,在XML文件中作为元素标识和属性名使用”。 命名空间是名称上相关的一组名称的汇集,在同一空间中每一个名称都必须唯一。例如,可以将某个班的学生姓名作为一个命名空间,也可以将某企业的产品名称作为一个命名空间。 命名空间表示了名称的来源和使用范围。通过命名空间可以
3、区分来自不同的XML应用但具有相同名称的标识,可以把来自某种XML应用的相关元素和属性集合在一起,以方便软件识别和处理。,命名空间,命名空间,namespaces通过给标识名称加一个网址(URL)定位的方法来区别这些名称相同的标识。 命名空间一般用属性xmlns来声明,声明的语法如下: xmlns:命名空间属性名,是声明命名空间必需的属性。 prefix:命名空间的前缀,它的值不能为XML。在引用此命名空间中的名称时,需要在名称前加“prefix: ”。 URI:统一资源标示符(Uniform Resource Identifier),是一个标识网络资源的字符串。最普通的URI应该是统一资源定
4、位符(Uniform Resource Locator ,URL),URL用于标识网络主机的地址。另一个不常用的URI是通用资源名字(Universal Resource Name ,URN),这是一个相对固定的地址。,命名空间,引用此名空间中的元素、属性的方法:前缀名:元素名 或 前缀名:属性名 声明时若前缀名省略,则声明的是缺省的空间,引用缺省名空间中的元素、属性时可不加前缀名;默认的命名空间的声明语法格式为: , this is element use default namespace prefix this is element use ss1 namespace prefix th
5、is is element use qinghua namespaceprefix ,在根元素处定义名空间属性,使用缺省名空间,使用指定名空间,命名空间,命名空间,一般命名空间在根元素处声明; 命名空间作用于它所在的元素及该元素内部所有子元素。 如果子元素又声明了新命名空间,且使用与原命名空间相同的前缀但URI不同时,新命名空间将覆盖原来的命名空间。 默认的命名空间不作用于属性(非默认的命名空间作用之);默认的命名空间如果遇到空值,下级命名空间将被取消。,命名空间, 覆盖原来的命名空间 此元素不属于任何命名空间 此元素超出了命名空间作用域 ,此元素的命名空间是: ,此元素不属于任何命名空间,此
6、属性不属于任何命名空间,此元素超出了命名空间作用域,返回到目标,XML Schema简介,Schema与DTD的关系 Schema与DTD的作用相同,它们各自以不同的方式来描述XML文档结构,都用于文档验证。,XML Schema简介,Schema与DTD的比较 DTD使用EBNF语法,Schema基于XML语法。Schema可以像其他XML文档一样被解析和处理 DTD描述的是XML文件的结构,而非元素内容,因此DTD不能进行数据有效性检查;例如:文字 Schema大大扩充了数据类型,可以自定义数据类型【数字型、整型、布尔型、日期时间型】 Schema提供一个可扩充的内容模式,而DTD扩展性差
7、; Schema可对整个XML文档或文档局部进行验证,而DTD缺乏这种灵活性。 Schema支持名称空间, DTD不支持命名空间。 囊括了DTD文件所能实现的全部功能,同时它也是一个完全规范的XML文档。Schema很可能取代DTD成为验证XML文档合法性的新标准。,XML Schema的特点,XML Schema文档本身就是XML文档,因此遵守XML的语法规则; XML Schema是用一套预先规定的XML元素和属性创建的; 在XML Schema需要完成的任务: 定义可以出现在文档中的元素; 定义可以出现在文档中的属性; 定义元素下的子元素及子元素的顺序、数量; 定义元素和属性的数据类型;
8、,返回到目标,XML Schema两种模式,两种模式:W3C XML Schema 和Microsoft XML Schema Microsoft版本的XML schema叫做XDR(XML Data Reduced),它基于XML标准提议中的简化集合,XDR是一个专有规范,但它被相当广泛的采用。 W3C的XML Schema叫XSD(XML Schema Definition Language),它是一个比XDR更广泛的规范,并且它有不可否认的非专有的优点。,XDR Schema模式,intro-schema.xml intro.xml ,用名空间的方式指定XML文档的schema,指明预定
9、义的元素、属性和数据类型的来源,XSD Schema模式, , ,intro-schema.xsd,Intro.xml,指明预定义的元素、属性和数据类型的来源,指明noNamespaceSchemaLocation属性的来源,通过noNamespaceSchemaLocation属性来指定XML文档的schema,返回到目标,W3C XML Schema完整的示例, Hello World! 你好! ,4.4.xml, ,W3C XML Schema完整的示例,4.5.xsd,W3C XML Schema完整的示例, ,返回到目标,4.5.xsd续,W3C Schema,元素的定义 属性定义
10、数据类型定义 简单类型定义: 复杂类型定义:,返回到目标,Schema的数据类型,简单数据类型 一个元素中如果仅仅包含数字、字符串或其他文本数据,但不包含子元素和属性,则这种元素的数据类型是简单类型 复杂数据类型 复杂类型的元素有子元素和属性,也可以有字符内容。,元素可以有简单或复杂数据类型,属性只能有简单数据类型。,返回到目标,简单数据类型,简单数据类型的声明格式: annotation子元素。用来定义批注。 restriction子元素。用来对数据类型添加限制。 list子元素。用来定义列表数据类型。 union子元素。用来定义联合数据类型。 简单数据类型有以下几种: 原子类型(内置的数据
11、类型) 自定义类型 列表类型和联合类型,返回到数据类型,W3C内置的常用数据类型,返回到简单数据类型,定义自己的简单数据类型并不表示重新创建新的原子类型,而是表示扩建现有的一个数据类型,并加上某些类型的限制自定义它。 格式: 一个或多个元素指定新数据类型的限制 ,自定义的简单数据类型,可以是基于内置数据类型,也可以是基于自定义的数据类型,自定义的简单数据类型,例题4.6.xsd:给员工分配100000到999999之间的员工编号 ,自定义的简单数据类型,对应的XML文档 123456 ,自定义的简单数据类型,用于自定义数据类型的约束面,可以放置在数据类型上的限制,返回到简单数据类型,white
12、Space约束面,whiteSpace面应用于string数据类型以及派生数据类型; whiteSpace面可设置为以下值中的一个 preserve:空白不以任何方式被规范化或改变; replace:所有出现的制表符、换行符、和回车符都将被单个空格取代; collapse:与replace一样用空格取代换行符等,并用单个空格取代多个连续空格;删除前导和尾随空格;,Length和whiteSpace约束面例题, value=collapse/ ,4.7.xsd,返回到约束面,有关enumerated例题, ,4.9.xsd,返回到约束面,Pattern模式,Pattern模式可为数据类型定义详细的模板。 例如:可以限制一个类型包含由单个大写字母后跟一短划线和3个数字组成的字符串A-Z-d3,Pattern模式,Pattern模式,pattern例题, ,4.10.xsd,返回到约束面, XA3121,列表类型,列表类型是其值用空格隔开的原子值列表; 格式: ,列表类型例题, ,4.11.xsd,联合类型,联合数据类型是将若干个数据类型集合在一个数据类型里,即此数据类型的数据可以是这些数据类型集合中的一种。 联合类型的值可以是原子类型,也可以是列表类型或自定义的数据类型 声明格式: ,可以是原子类型、列表类型、自定义数据类型,联合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某矿业企业安全管理制度
- 译林版(三起)四年级上册英语 分课时语法+句型专项练习(含解析答案)
- 某玻璃厂包装规范细则
- 数字化职业规划解决方案
- 人工智能培训证书指南
- 2026年城市道路照明改造施工合同
- 2026城市销售面试题目及答案
- 2026道路执法面试题目及答案
- 2026东软面试题目及答案大全
- 2026高速路政面试题及答案
- 口腔护理入编试题及答案
- 2026《超龄劳动者基本权益保障暂行规定》解读
- 桥梁钢筋劳务分包合同
- 湖南农发环保科技有限责任公司招聘笔试题库2026
- 2026年交通辅警测试题及答案
- 2026天津华北地质勘查局及所属事业单位第二批招聘7人笔试备考试题及答案详解
- 全国矿产资源潜力评价总体实施方案
- 青岛大学2012年829物理化学考研真题
- 消防联动报警调试报告
- (完整版)牧场物语精灵驿站详细攻略
- 国家电网公司招聘高校毕业生应聘登记表
评论
0/150
提交评论