资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
XML技术及应用 第三章 XML模式(schema),水利水电出版社,古凌岚、罗佳等编著,知识要点,XML模式与DTD的比较 XML模式中的简单和复杂数据类型 创建XML模式文档 XML模式的复用,3.1 XLM的简单应用,XML模式介绍 XML模式是由微软公司开发,2001年5月成为W3C的推荐规范,用于创建有效的XML文档。创建XML模式的语言被称为XML模式定义语言(XSD)。 与DTD相比较,XML模式的特点: 使用与XML相同的语法 支持多种数据类型 支持用户自定义数据类型 支持名称空间,3.1 XLM的简单应用,XML模式介绍 XML模式的基本元素: element:描述一个非根元素。 attribute:描述XML文档中某元素的属性。 simpleType:描述自定义简单数据类型 complexType:描述复杂数据类型 restriction:用于指定元素内容的某些约束,3.1 XLM的简单应用,XML模式介绍 XML模式的基本元素: element:描述一个非根元素。 attribute:描述XML文档中某元素的属性。 simpleType:描述自定义简单数据类型 complexType:描述复杂数据类型 restriction:用于指定元素内容的某些约束,3.1 XLM的简单应用,实例:按需要定义图书信息格式 问题: 为了便于各部门、分店处理或存储书籍详细资料,要求书籍详细资料按照一定的规则存储,以保证书籍信息格式的一致性。书籍的详细资料包括:ISBN、书名、作者(最多为四人)、出版社、价格、关键字、供书商、库存量、库存位置。 对书籍详细资料的一些约束: 书籍共有三类:计算机类、经济类、文学类,书库中存放书籍的区域也相应有三个:计算机类架柜、经济类架柜、文学类架柜; ISBN的格式为“d-ddd-ddddd-d”,其中d表示为数字; 价格为浮点数,必须大于0; 库存量为正整数; 关键字为字符串,长度不可大于10个; 其它皆为字符类型,3.1 XLM的简单应用,分析 确定保证数据一致性的方法 列出存储书籍详细资料所需要的元素、属性及其类型 声明元素 声明属性 编写XML文档,引用XML模式,3.1 XLM的简单应用,解决 确定保证数据一致性的方法 采用XML模式对书籍数据的XML文档进行定义 列出存储书籍详细资料所需要的元素、属性及其类型,3.1 XLM的简单应用,XML模式提供的主要预定义数据类型:,3.1 XLM的简单应用,XML模式支持的用户自定义数据类型: 简单数据类型:只包含值(如字符串、数字等)的数据类型(如前表中所示); 复杂数据类型:包含子元素、属性和混合内容的数据类型;,3.1 XLM的简单应用,例如, 包含简单和复杂数据类型的一段代码: 春天 天籁之声音像公司 流行风 26.00 其中,shop元素内容是简单数据类型,而price元素的内容类型为复杂数据类型,3.1 XLM的简单应用,书籍详细资料所需要的元素、属性及其数据类型 :,3.1 XLM的简单应用,声明元素: 简单元素: 声明语法: 简单元素: 声明语法: 内容模型定义 ,3.1 XLM的简单应用,声明属性的语法: ,3.1 XLM的简单应用,参数说明: name:指定声明的属性名 default:指定该属性的缺省值,以保证属性在任何情况下,都被分配一个值。该参数为可 选项 fixed:指定该属性的固定值,当为属性定义了一个固定值,则XML文档中不可对该属性的 值改变,该参数不可与default参数同时使用。 ref:表示引用一个已存在的属性,被引用的属性可以是同一个或其它XSD文件中所声明的 属性,要注意的是不能定义一个属性的同时引用该属性本身。 type:指定属性的数据类型,可以是XML模式所预定义的,也可以是自定义的数据类型。 use:指定属性在XML文档是强制还是可选出现。出现的方式: 1)required表明该属性在XML文档中必须出现,否则XML文档是一个无效的文档。 2)optional表示该属性的出现是可选的,optional是use参数项的缺省值。,3.1 XLM的简单应用,编写XML文档,引用XML模式 了解XML解析器 非确认解析器 确认解析器 编写XML文档,3.1 XLM的简单应用,单元练习 酒店管理系统需要对存储数据的格式统一。客户信息包括客房编号、客房标准编号、客房状态、备注。 对于客户信息的约束有: 客户编号格式*(*表示数字) 客户标准编号格式R*(*表示数字) 客户状态有三种:在住、未清洁、已清洁,3.2 XML模式之间的调用,XML名称空间 W3C在1999年1月颁布了名称空间(namespace)标准。该标准对名称空间的定义:XML名称空间提供一套简单的方法,将XML文档和URI引用标识的名称相结合,标识一个虚拟的空间,来限定其中的元素和属性。 名称空间在使用之前必须先声明,声明的语法: 。 元素声明名称空间的格式: XML模式中声明名称空间的格式: ,3.2 XML模式之间的调用,实例:实现各分店图书信息格式的统一 问题: 书店需要定期汇总各分店的销售数据,要求各分店使用统一的数据存储格式,将总店指定的信息送到中心数据库。 销售资料包括销售ID、书的ISBN、书名、书的价格、销售数量。 书的ISBN格式为“d-ddd-ddddd-d”,其中d表示为数字。书店的业务流程中,ISBN出现在许多XML文档中,如书籍详细资料、采购详细资料、销售详细资料等,应使ISBN的定义可重复使用,以提高代码的效率。,3.2 XML模式之间的调用,分析 确定所需的元素和属性 确定模式可重用的方法 声明可重用的数据类型 创建XML模式、XML文档 验证XML文档的有效性,3.2 XML模式之间的调用,解决 确定所需的元素和属性,3.2 XML模式之间的调用,确定模式可重用的方法 通过XML模式提供的include、import元素来实现重用性 include元素允许引用同一个名称空间的外部模式。引用的语法: ,3.2 XML模式之间的调用,import元素 可访问来自多个目标名称空间的模式组件,引用的语法: ,3.2 XML模式之间的调用,声明可重用的数据类型 创建XML模式、XML文档,3.2 XML模式之间的调用,单元练习 酒店各分店的前台每日要提交订房报表,总店将各分店的订房数据汇总呈交办公室,要求各分店必须按总店规定的数据格式及数据项制作报表。 订房信息包括的数据项有:订房编号、客房编号、客房备注信息、顾客姓名、顾客身份证号码、入住日期、折扣、备注等。 订房编号、折扣、身份证号码在酒店系统的多个XML文档中出现,应将这些数据项的定义编写为可重用的模式,避免代码的重复编写。,3.2 XML模式之间的调用,XML模式中的组合元素和属性机制 用于组合XML元素和属性的元素 sequence:指定XML文档中元素出现的顺序 ,3.3 应用XML模式的组合元素和属性机制,all:指定XML文档中元素可以按任意顺序出现 ,3.3 应用XML模式的组合元素和属性机制,group:将XML文档中某些元素组合为一组 ,3.3 应用XML模式的组合元素和属性机制,choice:在指定元素组中选择某一个元素呈现在XML文档 attributeGroup:对XML文档中的属性进行组合 ,3.3 应用XML模式的组合元素和属性机制,实例:高效实现图书采购信息的格式统一 问题 书店根据缺书登记,定期采购所缺书目,采购部门应按照书店的要求存储采购信息,以保证数据格式的一致性。采购信息包括:采购单号、书ISBN、书名、出版社、供应商ID、价格、数量、登记日期、采购状态。ISBN、书名、出版社是一本书的基本信息。,3.3 应用XML模式的组合元素和属性机制,分析 确定XML文档所需的元素和属性 确定组合元素和属性的方法,明确需要组合的元素或属性 创建XML模式 创建XML文档 验证XML文档有效性,3.3 应用XML模式的组合元素和属性机制,解决 确定XML文档所需的元素和属性,3.3 应用XML模式的组合元素和属性机制,3.3 应用XML模式的组合元素和属性机制,确定组合元素和属性的方法,明确需要组合的元素或属性 利用XML中的group、attributeGroup 对于常出现的 数据项组合,如书名、出版社、单价数据项,在采购信息 出现,还可能在缺书登记信息中出现以元素组或属性组 形式出现 创建XML模式 创建XML文档 验证XML的有效性,3.3 应用XML模式的组合元素和属性机制,单元练习 酒店管理系统中,需要对订房信息以统一的数据格式存储。订房信息包括:订房编号、客房编号、客房备注信息、顾客姓名、顾客身份证号码、入住日期、折扣、备注等。由于酒店面向国内外客户的,因此,顾客姓名由两部分组成:名FISRTNAME和姓 LASTNAME;顾客的身份证号码可以是身份证号码,也可以是护照号码。顾客姓名和身份证号码还在管理系统中的其他多个XML文档中出现。,3.3 应用XML模式的组合元素和属性机制,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号