XML验证技术Schema.ppt

上传人:灯火****19 文档编号:135020669 上传时间:2020-06-11 格式:PPT 页数:38 大小:267.01KB
返回 下载 相关 举报
XML验证技术Schema.ppt_第1页
第1页 / 共38页
XML验证技术Schema.ppt_第2页
第2页 / 共38页
XML验证技术Schema.ppt_第3页
第3页 / 共38页
XML验证技术Schema.ppt_第4页
第4页 / 共38页
XML验证技术Schema.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《XML验证技术Schema.ppt》由会员分享,可在线阅读,更多相关《XML验证技术Schema.ppt(38页珍藏版)》请在金锄头文库上搜索。

1、XML验证技术Schema 本课目标 命名空间XMLSchema简介XMLSchema的两种模式W3CSchemaW3CXMLSchema完整的示例W3CSchema的数据类型简单数据类型复杂数据类型W3CSchema元素属性声明W3CSchema元素声明W3CSchema属性声明元素 属性综合例题引入外部模式文档W3C的几种命名空间小结 命名空间 Namespaces翻译为名字空间或命名空间 当我们在一个XML文档中使用他人的或者多个DTD文件 就会出现这样的矛盾 因为XML中标识都是自己创建的 在不同的DTD文件中 标识名可能相同但表示的含义不同 这就可能引起数据混乱 例如 在一个文档中w

2、oodtable中表示桌子 而在另一个文档namelist中表示表格 如果我需要同时处理这两个文档 就会发生名字冲突 XML命名空间是XML解决元素多义性和名字冲突问题的方案 W3C组织的推荐用书对XML命名空间的解释是 XML命名空间是命名的汇集 它由URI 统一资源标识 确定 在XML文件中作为元素标识和属性名使用 命名空间是名称上相关的一组名称的汇集 在同一空间中每一个名称都必须唯一 例如 可以将某个班的学生姓名作为一个命名空间 也可以将某企业的产品名称作为一个命名空间 命名空间表示了名称的来源和使用范围 通过命名空间可以区分来自不同的XML应用但具有相同名称的标识 可以把来自某种XML

3、应用的相关元素和属性集合在一起 以方便软件识别和处理 命名空间 命名空间 namespaces通过给标识名称加一个网址 URL 定位的方法来区别这些名称相同的标识 命名空间一般用属性xmlns来声明 声明的语法如下 xmlns 命名空间属性名 是声明命名空间必需的属性 prefix 命名空间的前缀 它的值不能为XML 在引用此命名空间中的名称时 需要在名称前加 prefix URI 统一资源标示符 UniformResourceIdentifier 是一个标识网络资源的字符串 最普通的URI应该是统一资源定位符 UniformResourceLocator URL URL用于标识网络主机的地址

4、 另一个不常用的URI是通用资源名字 UniversalResourceName URN 这是一个相对固定的地址 命名空间 引用此名空间中的元素 属性的方法 前缀名 元素名或前缀名 属性名声明时若前缀名省略 则声明的是缺省的空间 引用缺省名空间中的元素 属性时可不加前缀名 默认的命名空间的声明语法格式为 thisiselementusedefaultnamespaceprefixthisiselementusess1namespaceprefixthisiselementuseqinghuanamespaceprefix 在根元素处定义名空间属性 使用缺省名空间 使用指定名空间 命名空间 命名

5、空间 一般命名空间在根元素处声明 命名空间作用于它所在的元素及该元素内部所有子元素 如果子元素又声明了新命名空间 且使用与原命名空间相同的前缀但URI不同时 新命名空间将覆盖原来的命名空间 默认的命名空间不作用于属性 非默认的命名空间作用之 默认的命名空间如果遇到空值 下级命名空间将被取消 命名空间 覆盖原来的命名空间此元素不属于任何命名空间此元素超出了命名空间作用域 此元素的命名空间是 此元素不属于任何命名空间 此属性不属于任何命名空间 此元素超出了命名空间作用域 返回到目标 XMLSchema简介 Schema与DTD的关系Schema与DTD的作用相同 它们各自以不同的方式来描述XML文

6、档结构 都用于文档验证 XMLSchema简介 Schema与DTD的比较DTD使用EBNF语法 Schema基于XML语法 Schema可以像其他XML文档一样被解析和处理DTD描述的是XML文件的结构 而非元素内容 因此DTD不能进行数据有效性检查 例如 文字Schema大大扩充了数据类型 可以自定义数据类型 数字型 整型 布尔型 日期时间型 Schema提供一个可扩充的内容模式 而DTD扩展性差 Schema可对整个XML文档或文档局部进行验证 而DTD缺乏这种灵活性 Schema支持名称空间 DTD不支持命名空间 囊括了DTD文件所能实现的全部功能 同时它也是一个完全规范的XML文档

7、Schema很可能取代DTD成为验证XML文档合法性的新标准 XMLSchema的特点 XMLSchema文档本身就是XML文档 因此遵守XML的语法规则 XMLSchema是用一套预先规定的XML元素和属性创建的 在XMLSchema需要完成的任务 定义可以出现在文档中的元素 定义可以出现在文档中的属性 定义元素下的子元素及子元素的顺序 数量 定义元素和属性的数据类型 返回到目标 XMLSchema两种模式 两种模式 W3CXMLSchema和MicrosoftXMLSchemaMicrosoft版本的XMLschema叫做XDR XMLDataReduced 它基于XML标准提议中的简化集

8、合 XDR是一个专有规范 但它被相当广泛的采用 W3C的XMLSchema叫XSD XMLSchemaDefinitionLanguage 它是一个比XDR更广泛的规范 并且它有不可否认的非专有的优点 XDRSchema模式 intro schema xmlintro xml 用名空间的方式指定XML文档的schema 指明预定义的元素 属性和数据类型的来源 XSDSchema模式 intro schema xsd Intro xml 指明预定义的元素 属性和数据类型的来源 指明noNamespaceSchemaLocation属性的来源 通过noNamespaceSchemaLocation

9、属性来指定XML文档的schema 返回到目标 W3CXMLSchema完整的示例 HelloWorld 你好 4 4 xml W3CXMLSchema完整的示例 4 5 xsd W3CXMLSchema完整的示例 返回到目标 4 5 xsd续 W3CSchema 元素的定义属性定义数据类型定义简单类型定义 复杂类型定义 返回到目标 Schema的数据类型 简单数据类型一个元素中如果仅仅包含数字 字符串或其他文本数据 但不包含子元素和属性 则这种元素的数据类型是简单类型复杂数据类型复杂类型的元素有子元素和属性 也可以有字符内容 元素可以有简单或复杂数据类型 属性只能有简单数据类型 返回到目标

10、简单数据类型 简单数据类型的声明格式 annotation子元素 用来定义批注 restriction子元素 用来对数据类型添加限制 list子元素 用来定义列表数据类型 union子元素 用来定义联合数据类型 简单数据类型有以下几种 原子类型 内置的数据类型 自定义类型列表类型和联合类型 返回到数据类型 W3C内置的常用数据类型 返回到简单数据类型 定义自己的简单数据类型并不表示重新创建新的原子类型 而是表示扩建现有的一个数据类型 并加上某些类型的限制自定义它 格式 一个或多个元素指定新数据类型的限制 自定义的简单数据类型 可以是基于内置数据类型 也可以是基于自定义的数据类型 自定义的简单数

11、据类型 例题4 6 xsd 给员工分配100000到999999之间的员工编号 自定义的简单数据类型 对应的XML文档123456 自定义的简单数据类型 用于自定义数据类型的约束面 可以放置在数据类型上的限制 返回到简单数据类型 whiteSpace约束面 whiteSpace面应用于string数据类型以及派生数据类型 whiteSpace面可设置为以下值中的一个preserve 空白不以任何方式被规范化或改变 replace 所有出现的制表符 换行符 和回车符都将被单个空格取代 collapse 与replace一样用空格取代换行符等 并用单个空格取代多个连续空格 删除前导和尾随空格 Le

12、ngth和whiteSpace约束面例题 value collapse 4 7 xsd 返回到约束面 有关enumerated例题 4 9 xsd 返回到约束面 Pattern模式 Pattern模式可为数据类型定义详细的模板 例如 可以限制一个类型包含由单个大写字母后跟一短划线和3个数字组成的字符串 A Z d 3 Pattern模式 Pattern模式 pattern例题 4 10 xsd 返回到约束面 XA3121 列表类型 列表类型是其值用空格隔开的原子值列表 格式 列表类型例题 4 11 xsd 联合类型 联合数据类型是将若干个数据类型集合在一个数据类型里 即此数据类型的数据可以是这些数据类型集合中的一种 联合类型的值可以是原子类型 也可以是列表类型或自定义的数据类型声明格式 可以是原子类型 列表类型 自定义数据类型 联合类型例题 4 13 xsd 联合类型例题 对应的XML实例如 张明王伟或70但以下两个实例是错误的 张明60和6070 返回到简单数据类型 小结 本课介绍了Schema与DTD的联系与区别 了解了两种Schema XDR和XSD着重学习W3CSchema 包括数据类型的定义 元素的定义和属性的定义 本课学习了W3CSchema简单数据类型的定义课外作业 完成课后练习

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号