《XML技术及应用 第3章_XML模式(schema).ppt》由会员分享,可在线阅读,更多相关《XML技术及应用 第3章_XML模式(schema).ppt(37页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、 XML技术及应用第三章 XML模式(schema)水利水电出版社水利水电出版社水利水电出版社水利水电出版社古凌岚、罗佳等编著知识要点oXML模式与DTD的比较oXML模式中的简单和复杂数据类型o创建XML模式文档oXML模式的复用3.1 XLM的简单应用 oXML模式介绍模式介绍 nXML模式是由微软公司开发,2001年5月成为W3C的推荐规范,用于创建有效的XML文档。创建XML模式的语言被称为XML模式定义语言(XSD)。n与DTD相比较,XML模式的特点:o使用与XML相同的语法 o支持多种数据类型 o支持用户自定义数据类型 o支持名称空间 3.1 XLM的简单应用 oXML模式介绍模
2、式介绍 nXML模式的基本元素:oelement:描述一个非根元素。oattribute:描述XML文档中某元素的属性。osimpleType:描述自定义简单数据类型ocomplexType:描述复杂数据类型orestriction:用于指定元素内容的某些约束3.1 XLM的简单应用 oXML模式介绍模式介绍nXML模式的基本元素:oelement:描述一个非根元素。oattribute:描述XML文档中某元素的属性。osimpleType:描述自定义简单数据类型ocomplexType:描述复杂数据类型orestriction:用于指定元素内容的某些约束3.1 XLM的简单应用 o实例:按需
3、要定义图书信息格式实例:按需要定义图书信息格式n问题问题:为了便于各部门、分店处理或存储书籍详细资料,要求书籍详细资料按照一定的规则存储,以保证书籍信息格式的一致性。书籍的详细资料包括:ISBN、书名、作者(最多为四人)、出版社、价格、关键字、供书商、库存量、库存位置。对书籍详细资料的一些约束:书籍共有三类:计算机类、经济类、文学类,书库中存放书籍的区域也相应有三个:计算机类架柜、经济类架柜、文学类架柜;oISBN的格式为“d-ddd-ddddd-d”,其中d表示为数字;o价格为浮点数,必须大于0;o库存量为正整数;o关键字为字符串,长度不可大于10个;o其它皆为字符类型3.1 XLM的简单应
4、用 n分析分析n确定保证数据一致性的方法n列出存储书籍详细资料所需要的元素、属性及其类型n声明元素n声明属性n编写XML文档,引用XML模式3.1 XLM的简单应用 n解决解决o确定保证数据一致性的方法n采用XML模式对书籍数据的XML文档进行定义 o列出存储书籍详细资料所需要的元素、属性及其类型3.1 XLM的简单应用 nXML模式提供的主要预定义数据类型:数据类型描述String表示字符串类型Number表示数字类型Int表示范围在-21474836482147483647之间的整数NonNegativeInteger表示大于或等于零的整数PositiveInteger表示大于零的整数Fl
5、oat表示单精度32位的浮点数Boolean表示布尔类型Date表示日期类型Time表示时间类型TimeDuration表示一段持续时间Uri表示通用资源标识符(URI)uuid表示通用用户标识符(组件注册后系统分配的唯一标识序列)3.1 XLM的简单应用 nXML模式支持的用户自定义数据类型:n简单数据类型:只包含值(如字符串、数字等)的数据类型(如前表中所示);n复杂数据类型:包含子元素、属性和混合内容的数据类型;3.1 XLM的简单应用 n例如,包含简单和复杂数据类型的一段代码:春天天籁之声音像公司流行风26.00n其中,shop元素内容是简单数据类型,而price元素的内容类型为复杂数
6、据类型 3.1 XLM的简单应用 n书籍详细资料所需要的元素、属性及其数据类型书籍详细资料所需要的元素、属性及其数据类型:元素/属性名称描述数据类型元素BOOKLIBRARY根元素,存储的所有书籍数据复杂数据类型BOOK表示每一本书的详细资料复杂数据类型BOOKNAME表示每一本书的书名string,为简单类型AUTHOR表示每一本书的作者string,为简单类型PUBLISHER表示每一本书的出版社string,为简单类型PRICE表示每一本书的价格float,为简单类型KEYWORD表示每一本书的关键定string,为简单类型PROVIDERID表示每一本书的供应商ID,对于供应商资料是唯
7、一的string,为简单类型QUANTITY表示每一本书的库存数量nonNegativeInteger,为简单类型属性ISBN表示每一本书的出版号,对于每本书是唯一的string,为简单类型PLACE表示每一本书的存放位置,有三个存放区string,为简单类型3.1 XLM的简单应用 n声明元素:n简单元素:声明语法:n简单元素:声明语法:内容模型定义 3.1 XLM的简单应用 n声明属性的语法:3.1 XLM的简单应用 o参数说明:nname:指定声明的属性名ndefault:指定该属性的缺省值,以保证属性在任何情况下,都被分配一个值。该参数为可n选项nfixed:指定该属性的固定值,当为属
8、性定义了一个固定值,则XML文档中不可对该属性的n值改变,该参数不可与default参数同时使用。nref:表示引用一个已存在的属性,被引用的属性可以是同一个或其它XSD文件中所声明的n属性,要注意的是不能定义一个属性的同时引用该属性本身。ntype:指定属性的数据类型,可以是XML模式所预定义的,也可以是自定义的数据类型。nuse:指定属性在XML文档是强制还是可选出现。出现的方式:n1)required表明该属性在XML文档中必须出现,否则XML文档是一个无效的文档。n2)optional表示该属性的出现是可选的,optional是use参数项的缺省值。3.1 XLM的简单应用 n编写XM
9、L文档,引用XML模式 o了解XML解析器n非确认解析器n确认解析器o编写XML文档3.1 XLM的简单应用 o单元练习单元练习 酒店管理系统需要对存储数据的格式统一。客户信息包括客房编号、客房标准编号、客房状态、备注。n对于客户信息的约束有:o客户编号格式*(*表示数字)o客户标准编号格式R*(*表示数字)o客户状态有三种:在住、未清洁、已清洁3.2 XML模式之间的调用 oXML名称空间名称空间nW3C在1999年1月颁布了名称空间(namespace)标准。该标准对名称空间的定义:XML名称空间提供一套简单的方法,将XML文档和URI引用标识的名称相结合,标识一个虚拟的空间,来限定其中的
10、元素和属性。n名称空间在使用之前必须先声明,声明的语法:。n元素声明名称空间的格式:nXML模式中声明名称空间的格式:3.2 XML模式之间的调用 o实例:实现各分店图书信息格式的统一实例:实现各分店图书信息格式的统一n问题问题:书店需要定期汇总各分店的销售数据,要求各分店使用统一的数据存储格式,将总店指定的信息送到中心数据库。o销售资料包括销售ID、书的ISBN、书名、书的价格、销售数量。o书的ISBN格式为“d-ddd-ddddd-d”,其中d表示为数字。书店的业务流程中,ISBN出现在许多XML文档中,如书籍详细资料、采购详细资料、销售详细资料等,应使ISBN的定义可重复使用,以提高代码
11、的效率。3.2 XML模式之间的调用n分析分析n确定所需的元素和属性n确定模式可重用的方法n声明可重用的数据类型n创建XML模式、XML文档n验证XML文档的有效性3.2 XML模式之间的调用n解决解决o确定所需的元素和属性元素/属性名称描述元素SELLDETAILXML文档的根元素SELL表示每个销售单的详细资料(包括销售ID、书的ISBN等)BOOKNAMEPRICE表示每一本书的价格QUANTITY表示每一本书的销售数量属性SELLNO表示销售序列号,对于每张销售单是唯一的ISBN表示每一本书的出版号,对于每本书是唯一的3.2 XML模式之间的调用n确定模式可重用的方法o通过XML模式提
12、供的include、import元素来实现重用性oinclude元素允许引用同一个名称空间的外部模式。引用的语法:3.2 XML模式之间的调用nimport元素o可访问来自多个目标名称空间的模式组件,引用的语法:3.2 XML模式之间的调用n声明可重用的数据类型n创建XML模式、XML文档3.2 XML模式之间的调用o单元练习单元练习 酒店各分店的前台每日要提交订房报表,总店将各分店的订房数据汇总呈交办公室,要求各分店必须按总店规定的数据格式及数据项制作报表。n订房信息包括的数据项有:订房编号、客房编号、客房备注信息、顾客姓名、顾客身份证号码、入住日期、折扣、备注等。n订房编号、折扣、身份证号
13、码在酒店系统的多个XML文档中出现,应将这些数据项的定义编写为可重用的模式,避免代码的重复编写。3.2 XML模式之间的调用oXML模式中的组合元素和属性机制模式中的组合元素和属性机制n用于组合XML元素和属性的元素 osequence:指定XML文档中元素出现的顺序3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制oall:指定XML文档中元素可以按任意顺序出现 3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制ogroup:将XML文档中某些元素组合为一组 3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制ochoice:在指定元
14、素组中选择某一个元素呈现在XML文档 oattributeGroup:对XML文档中的属性进行组合 3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制o实例:高效实现图书采购信息的格式统一实例:高效实现图书采购信息的格式统一n问题问题 书店根据缺书登记,定期采购所缺书目,采购部门应按照书店的要求存储采购信息,以保证数据格式的一致性。采购信息包括:采购单号、书ISBN、书名、出版社、供应商ID、价格、数量、登记日期、采购状态。ISBN、书名、出版社是一本书的基本信息。3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制n分析分析n确定XML文档所需的元素和属
15、性n确定组合元素和属性的方法,明确需要组合的元素或属性n创建XML模式n创建XML文档n验证XML文档有效性3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制n解决解决o确定XML文档所需的元素和属性3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制3.3 应用应用XML模式的组合元素和属性机模式的组合元素和属性机制制元素/属性名称描述元素SELLDETAIL根元素,指明XML文档存储的所有采购数据SELL表示每个采购单的详细资料(包括采购单号、书的ISBN等)BOOKISBN表示每本书的ISBNBOOKNAME表示每本书的书名PUBLISHER表示每本
16、书的出版社PRICE表示每本书的单价PROVIDERID表示每本书的供应商IDQUANTITY表示采购的书的数量属性SELLSTATE表示采购状态,是否已采购RECORDDATE表示采购单登记的日期SELLID表示采购单序列号n确定组合元素和属性的方法,明确需要组合的元素或属性 利用XML中的group、attributeGroup 对于常出现的数据项组合,如书名、出版社、单价数据项,在采购信息出现,还可能在缺书登记信息中出现以元素组或属性组形式出现n创建XML模式n创建XML文档n验证XML的有效性3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制o单元练习单元练习 酒店管理系统中,需要对订房信息以统一的数据格式存储。订房信息包括:订房编号、客房编号、客房备注信息、顾客姓名、顾客身份证号码、入住日期、折扣、备注等。由于酒店面向国内外客户的,因此,顾客姓名由两部分组成:名FISRTNAME和姓 LASTNAME;顾客的身份证号码可以是身份证号码,也可以是护照号码。顾客姓名和身份证号码还在管理系统中的其他多个XML文档中出现。3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制