《XML技术及应用ppt课件(完整版).ppt》由会员分享,可在线阅读,更多相关《XML技术及应用ppt课件(完整版).ppt(239页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、21世纪高职高专创新精品规划教材XML技术及应用第一章XML基础知识知识要点oXML的起源oXML的特点oXML文档的结构及组成要素1.1XML概述oXML出现的背景n信息交换的过程中也存在着一个突出的问题,那就是数据格式的多样性,需要一种描述任何逻辑关系的数据格式来统一电子数据的存储oXML的起源的起源n标准通用标记语言(SGML,StandardGeneralizedMarkupLanguage):是一种通用的文档结构描述符号化语言,主要用来定义文献模型的逻辑和物理类结构。oHTML简介简介超文本标记语言HTML(HyperTextMarkupLanguage),它是SGML的一个简化子集
2、,一种可被任何平台使用的标记语言oHTML的一个例子:1.1XML概述oooHTML文档oooo欢迎您o进入万维网世界!ooo1.1XML概述oXML简介简介nXML是由万维网联盟(W3C,WorldWideWebConsortium)于1998年2月发布的一种标准nXML和HTML都属于SGML的子集nXML是基于文本的标记语言,它通过使用有意义的标签以结构化的格式存储数据,可被任何一种计算机系统所解释。因此,XML是一种跨平台、硬件和软件独立的标记语言,成为不同类型系统间的各种应用程序通用数据交换格式。1.1XML概述oXML简介简介nXML的特点oXML文档设计简单,清晰易读o跨平台o开
3、放性o高效性o可扩充性o标准国际化1.1XML概述oXML简介简介n与XML相关的技术o文档类型定义(DTD)o级联样式表(CSS)o可扩展样式语言(XSL,eXtensibleStyleSheetLanguage)o可扩展链接语言(XLL,eXtensibleLinkLanguage)1.1XML概述1.2编写XML的要素oXML文档的组成文档的组成n编辑XML文档的工具o通用编辑工具:记事本o专用编辑工具:微软的.NET2003、Wattle公司的XMLwriter、ALTOVAGMBH的XMLSPY(本书中所用的工具)n例1:一个简单的XML程序运行效果n程序代码:ooojoneofam
4、leo426377382o1.2编写XML的要素1.2编写XML的要素n例2:DVD名称发行公司代理商行价格春天天籁之声音像公司流行风26古筝曲白天鹅音像公司音乐吧,民乐坊30巴赫北京音像公司音乐吧68(Music.xmlMusic.xml)春天春天春天春天天籁之声音像公司天籁之声音像公司天籁之声音像公司天籁之声音像公司流行风流行风流行风流行风26.0026.00古筝曲古筝曲古筝曲古筝曲白天鹅音像公司白天鹅音像公司白天鹅音像公司白天鹅音像公司音乐吧音乐吧音乐吧音乐吧民乐坊民乐坊民乐坊民乐坊30.0030.00巴赫巴赫巴赫巴赫北京音像公司北京音像公司北京音像公司北京音像公司音乐吧音乐吧音乐吧音乐
5、吧68.0068.00(Music.dtdMusic.dtd)oMusic.xml和Music.dtd放在同一文件夹中,在浏览器中运行1.2编写XML的要素运行效果1.2编写XML的要素n若要页面更加美观,可通过级联样式表(CSS)来简单地控制显示的效果,创建以下CSS文档(Music.cssMusic.css)musicmusic display:block;display:block;font-weight:bold;font-weight:bold;font-size:10pt;font-size:10pt;titletitle display:block;display:block;f
6、ont-weight:bold;font-weight:bold;font-size:10pt;font-size:10pt;color:red;color:red;publisherpublisher display:block;display:block;font-weight:bold;font-weight:bold;font-size:30pt;font-size:30pt;color:green;color:green;o修改Music.xml文件1.2编写XML的要素1.2编写XML的要素nXML文档的结构组成部分组成部分组成部分组成部分语句表述语句表述语句表述语句表述说明说明说
7、明说明序码序码序码序码XMLXMLXMLXML文档声明文档声明文档声明文档声明!DOCTYPE 与之关联的与之关联的与之关联的与之关联的DTDDTDDTDDTD文档声明文档声明文档声明文档声明?用于连接用于连接用于连接用于连接CSSCSSCSSCSS文档的处理指令文档的处理指令文档的处理指令文档的处理指令!-注释注释注释注释数据正文数据正文数据正文数据正文 有仅有一个有仅有一个有仅有一个有仅有一个 子元素值子元素值子元素值子元素值/包含在根元素内的元素,至少包含在根元素内的元素,至少包含在根元素内的元素,至少包含在根元素内的元素,至少有一个有一个有一个有一个o实例:编写一个简单的实例:编写一个
8、简单的XML文档文档n问题问题管理系统的库存数据,存储在总店的数据库服务器,各个分店都可以通过网络连接到该服务器,并都可获得一致的库存数据。由于各个分店分布在不同的地区,所采用的系统平台或硬件也不同。因此,需要将库存数据存储在一个独立于硬件和软件的数据文件中。库存书信息包括:ISBN、书名、作者(最多为四人)、出版社、价格、关键字、供书商、库存量、库存位置。1.2编写XML的要素1.2编写XML的要素实现效果实现效果n分析分析o确定存储库存数据的文件格式o理解数据存储文档的结构o创建一个XML文档存储库存数据n解决解决o确定存储库存数据的文件格式1.2编写XML的要素o理解数据存储文档的结构n
9、XML结构的进一步o处理指令处理指令(PI,ProcessingInstruction):PI是以“”结束,如:n:表示当前XML文档的版本为1.0,采用的编码标准是中文GB2312字符集,不需要引用其他文件。n:用名为Music.css的CSS文档,来格式化输出XML文档。1.2编写XML的要素n标标签签:标签由尖括号组成,通常成对出现,开始标签中只包含标签名,结束标签包含“/”和标签名。标签名可以是用户定义或HTML预定义的标签,如Smitho注释:注释:用于对文件中的某段代码加以标注,语法:o元素和属性元素和属性:用来在XML中定义和描述数据的最基本单位,语法:n一般元素的表示方法:内容
10、n具有属性元素的表示方法:内容1.2编写XML的要素n例如:春天月光1.2编写XML的要素nXML文档中的信息可以用元素表示,也可以用属性方式表示,决定使用元素还是属性表示某个信息,可依据以下几个原则来考虑:o元素表示一个可定义的信息,属性用于表示对该元素的进一步限定o如果必须将信息显示出来,则使用元素表示o假如信息内容需要经常更新,最好使用元素表示o如果需要经常使用某种信息作为查询的索引项,可以将该信息表示为一个属性1.2编写XML的要素n内内容容:XML文档中元素所表示的数据被称为元素的内容nXML中元素所包含的内容可以是其它元素,也可以字符或数据,还可以是元素和文本的混合。1.2编写XM
11、L的要素n对于实例问题,库存书的XML文档结构1.2编写XML的要素BOOKLIBRARYBOOKBOOKNAMEPUBLISHERPROVIDERIDPRICEQUANTITYPLACEAUTHORKEYWORDn创建一个XML文档存储库存数据1.2编写XML的要素 C+C+程序设计程序设计程序设计程序设计 李林李林李林李林 陈健峰陈健峰陈健峰陈健峰 清华出版社清华出版社清华出版社清华出版社¥32.0032.00 指针指针指针指针,面向对象面向对象面向对象面向对象 P001 P001 360 360 计算机类架柜计算机类架柜计算机类架柜计算机类架柜 面向对象技术面向对象技术面向对象技术面向对
12、象技术UMLUML教程教程教程教程 王少民王少民王少民王少民 人民邮电出版社人民邮电出版社人民邮电出版社人民邮电出版社¥46.0046.00 UML,USECASE UML,USECASE P001 P001 200 200 计算机类架柜计算机类架柜计算机类架柜计算机类架柜 o单元练习单元练习酒店管理系统中,需要存储客房信息。要求对于酒酒店管理系统中,需要存储客房信息。要求对于酒店的各部门(如客房部、办公室等)、客户都可以店的各部门(如客房部、办公室等)、客户都可以通通过过不不同同的的系系统统或或网网络络了了解解客客房房的的有有关关信信息息,客客房房信息数据应存储在独立于软件和硬件的数据格式信
13、息数据应存储在独立于软件和硬件的数据格式中。客房信息包括:客房编号、客房标准(房间类中。客房信息包括:客房编号、客房标准(房间类型)、客房位置、客房单价、备注。型)、客房位置、客房单价、备注。1.2编写XML的要素oCSSoDTD和和XSDoXSLT和和XPATH1.3XML的相关技术介绍XML技术及应用第二章文档类型定义水利水电出版社水利水电出版社水利水电出版社水利水电出版社古凌岚、罗佳等编著知识要点o文档类型定义(DTD)概述o创建DTD文档2.1文档类型定义o文档类型定义(文档类型定义(DTD)介绍)介绍n有效的XML文档需要满足以下几个条件:o必须具有良好规范,也就是说,必须符合XML
14、语法规则。o文档必须有一个DTD文件,该DTD声明了相关联XML文档的所有元素(根元素、子元素)、o属性和实体(这个概念将在本节的后面讲述)。oXML文档中的元素名、属性名和实体名必须与DTD所定义的相匹配,并且符合DTD中描述的o规则。2.1文档类型定义o文档类型定义(文档类型定义(DTD)介绍)介绍n文档类型定义(DTD,DocumentTypeDefinitions)用于定义XML文档需要的标签集合。描述XML文档内容的结构,包括定义XML中的元素、属性、实体,并指定元素、属性以及实体间的顺序关系。nDTD类型o内部DTDo外部DTD2.1文档类型定义o文档类型定义(文档类型定义(DTD
15、)介绍)介绍n外部DTD:与XML文件相互独立,扩展名为dtd,为多个XML文档所共享oXML使用外部DTD需要在文档中进行声明。声明的格式为:2.1文档类型定义o文档类型定义(文档类型定义(DTD)介绍)介绍n内部DTD存在于XML文档中,针对某一个XML文档,作为XML文档的一部分o使用的格式为:2.1文档类型定义o实例:定义图书信息格式实例:定义图书信息格式n问题问题为了便于各部门、分店处理或存储书籍详细资料,要求书籍详细资料按照一定的规则存储,以保证书籍信息格式的一致性。书籍的详细资料包括:ISBN、书名、作者(最多为四人)、出版社、价格、关键字、供书商、库存量、库存位置。书籍共有三类
16、:计算机类、经济类、文学类。书库中存放书籍的区域也相应有三个:计算机类架柜、经济类架柜、文学类架柜。2.1文档类型定义n分析分析确定保证数据一致性的方法列出存储书籍详细资料所需要的元素、属性声明元素声明属性编写XML文档,引用DTD验证XML的有效性2.1文档类型定义n解决解决o确定保证数据一致性的方法n使用DTD来约束书籍数据的内容结构o列出存储书籍详细资料所需要的元素、属性元素/属性名称描述元素BOOKLIBRARY根元素,指明XML文档中存储的所有书籍数据BOOK表示每一本书的详细资料(包括书名、作者等)BOOKNAME表示每一本书的书名AUTHOR表示每一本书的作者PUBLISHER表
17、示每一本书的出版社PRICE表示每一本书的价格KEYWORD表示每一本书的关键定PROVIDERID表示每一本书的供应商ID,对于供应商资料是唯一的QUANTITY表示每一本书的库存数量属性ISBN表示每一本书的出版号,对于每本书是唯一的PLACE表示每一本书的存放位置,有三个存放区2.1文档类型定义2.1文档类型定义n声明元素oDTD声明元素的语法:o元素名指明所声明的元素名称,在当前DTD中必须是唯一的。o元素类型表示声明元素包含的内容类型。o元素内容模型表示声明文档中允许出现的元素、元素间的顺序、出现的次数。2.1文档类型定义nDTD中的元素类型中的元素类型oPCDATA:o空元素(EM
18、PTY):oANY:oCONTAINER:nDTD中的符号:中的符号:o可以对元素的出现次数、元素是否必须出现等进行定义2.1文档类型定义 符号描述实例,以指定的顺序“与”BOOKNAME,AUTHOR 同时出现,顺序为BOOKNAME在前,AUTHOR在后|“或”BOOKNAME|AUTHORBOOKNAME或AUTHOR出现,且仅一次?可出现0次或1次AUTHOR?该元素可以不出现,若出现则只能一次*可出现0次或多次BOOKNAME,AUTHOR*两元素依BOOKNAME,AUTHOR顺序出现,但AUTHOR可不出现,也可以出现任意次+至少出现一次AUTHOR+有一个或多个作者出现2.1文
19、档类型定义n声明属性o在DTD中属性声明的语法:2.1文档类型定义nDTD中常用的属性值类型有:nCDATA:表示字符数据值nID:标识符。该ID必须以字母开头nEnumerated:列出取值的范围,只可从中选取一个值nENTITY:在DTD中声明的实体oDTD中针对属性为强制或可选择方式的类型:nREQUIRED:表示每次使用该元素时,必须提供其属性值,否则该XML文档为无效nFIXED:表示每次使用该元素时,其属性有固定值nIMPLIED:表示该元素的属性是可选的2.1文档类型定义n编写XML文档,引用DTDn验证XML的有效性2.1文档类型定义o单元练习单元练习酒店的客房根据配套设施不同
20、,房价也不同,为了给各部门提供有关客房详细信息,酒店管理系统中需要存储统一格式的客房标准信息,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、电话以及单独卫生间数据项。酒店中有的房间空调配1或2台;电视机有的配1台,也有的没有配。2.2实体实体o通用实体通用实体n通用实体的声明方式:通用实体的声明方式:例如例如:声明一个通用实体声明一个通用实体!DOCTYPEmusiclibrary2.2实体实体o通用实体通用实体n应用到应用到XML文档中:文档中:春天春天&pub;26.002.2实体实体o参数实体参数实体n参数实体的声明方式:参数实体的声明方式:n在在DTD中引用
21、参数实体的语法:中引用参数实体的语法:%NAME;2.2实体实体o参数实体参数实体n例如例如:使用参数实体来写:使用参数实体来写:XML技术及应用第三章XML模式(schema)水利水电出版社水利水电出版社水利水电出版社水利水电出版社古凌岚、罗佳等编著知识要点oXML模式与DTD的比较oXML模式中的简单和复杂数据类型o创建XML模式文档oXML模式的复用3.1XLM的简单应用oXML模式介绍模式介绍nXML模式是由微软公司开发,2001年5月成为W3C的推荐规范,用于创建有效的XML文档。创建XML模式的语言被称为XML模式定义语言(XSD)。n与DTD相比较,XML模式的特点:o使用与XM
22、L相同的语法o支持多种数据类型o支持用户自定义数据类型o支持名称空间3.1XLM的简单应用oXML模式介绍模式介绍nXML模式的基本元素:oelement:描述一个非根元素。oattribute:描述XML文档中某元素的属性。osimpleType:描述自定义简单数据类型ocomplexType:描述复杂数据类型orestriction:用于指定元素内容的某些约束3.1XLM的简单应用oXML模式介绍模式介绍nXML模式的基本元素:oelement:描述一个非根元素。oattribute:描述XML文档中某元素的属性。osimpleType:描述自定义简单数据类型ocomplexType:描述
23、复杂数据类型orestriction:用于指定元素内容的某些约束3.1XLM的简单应用o实例:按需要定义图书信息格式实例:按需要定义图书信息格式n问题问题:为了便于各部门、分店处理或存储书籍详细资料,要求书籍详细资料按照一定的规则存储,以保证书籍信息格式的一致性。书籍的详细资料包括:ISBN、书名、作者(最多为四人)、出版社、价格、关键字、供书商、库存量、库存位置。对书籍详细资料的一些约束:书籍共有三类:计算机类、经济类、文学类,书库中存放书籍的区域也相应有三个:计算机类架柜、经济类架柜、文学类架柜;oISBN的格式为“d-ddd-ddddd-d”,其中d表示为数字;o价格为浮点数,必须大于0
24、;o库存量为正整数;o关键字为字符串,长度不可大于10个;o其它皆为字符类型3.1XLM的简单应用n分析分析确定保证数据一致性的方法列出存储书籍详细资料所需要的元素、属性及其类型声明元素声明属性编写XML文档,引用XML模式3.1XLM的简单应用n解决解决o确定保证数据一致性的方法n采用XML模式对书籍数据的XML文档进行定义o列出存储书籍详细资料所需要的元素、属性及其类型3.1XLM的简单应用nXML模式提供的主要预定义数据类型:数据类型描述String表示字符串类型Number表示数字类型Int表示范围在-21474836482147483647之间的整数NonNegativeIntege
25、r表示大于或等于零的整数PositiveInteger表示大于零的整数Float表示单精度32位的浮点数Boolean表示布尔类型Date表示日期类型Time表示时间类型TimeDuration表示一段持续时间Uri表示通用资源标识符(URI)uuid表示通用用户标识符(组件注册后系统分配的唯一标识序列)3.1XLM的简单应用nXML模式支持的用户自定义数据类型:n简单数据类型:只包含值(如字符串、数字等)的数据类型(如前表中所示);n复杂数据类型:包含子元素、属性和混合内容的数据类型;3.1XLM的简单应用n例如,包含简单和复杂数据类型的一段代码:春天天籁之声音像公司流行风26.00n其中,
26、shop元素内容是简单数据类型,而price元素的内容类型为复杂数据类型3.1XLM的简单应用n书籍详细资料所需要的元素、属性及其数据类型书籍详细资料所需要的元素、属性及其数据类型:元素/属性名称描述数据类型元素BOOKLIBRARY根元素,存储的所有书籍数据复杂数据类型BOOK表示每一本书的详细资料复杂数据类型BOOKNAME表示每一本书的书名string,为简单类型AUTHOR表示每一本书的作者string,为简单类型PUBLISHER表示每一本书的出版社string,为简单类型PRICE表示每一本书的价格float,为简单类型KEYWORD表示每一本书的关键定string,为简单类型PR
27、OVIDERID表示每一本书的供应商ID,对于供应商资料是唯一的string,为简单类型QUANTITY表示每一本书的库存数量nonNegativeInteger,为简单类型属性ISBN表示每一本书的出版号,对于每本书是唯一的string,为简单类型PLACE表示每一本书的存放位置,有三个存放区string,为简单类型3.1XLM的简单应用n声明元素:n简单元素:声明语法:n简单元素:声明语法:内容模型定义3.1XLM的简单应用n声明属性的语法:3.1XLM的简单应用o参数说明:nname:指定声明的属性名ndefault:指定该属性的缺省值,以保证属性在任何情况下,都被分配一个值。该参数为可
28、n选项nfixed:指定该属性的固定值,当为属性定义了一个固定值,则XML文档中不可对该属性的n值改变,该参数不可与default参数同时使用。nref:表示引用一个已存在的属性,被引用的属性可以是同一个或其它XSD文件中所声明的n属性,要注意的是不能定义一个属性的同时引用该属性本身。ntype:指定属性的数据类型,可以是XML模式所预定义的,也可以是自定义的数据类型。nuse:指定属性在XML文档是强制还是可选出现。出现的方式:n1)required表明该属性在XML文档中必须出现,否则XML文档是一个无效的文档。n2)optional表示该属性的出现是可选的,optional是use参数项
29、的缺省值。3.1XLM的简单应用n编写XML文档,引用XML模式o了解XML解析器n非确认解析器n确认解析器o编写XML文档3.1XLM的简单应用o单元练习单元练习酒店管理系统需要对存储数据的格式统一。客户信息包括客房编号、客房标准编号、客房状态、备注。n对于客户信息的约束有:o客户编号格式*(*表示数字)o客户标准编号格式R*(*表示数字)o客户状态有三种:在住、未清洁、已清洁3.2XML模式之间的调用oXML名称空间名称空间nW3C在1999年1月颁布了名称空间(namespace)标准。该标准对名称空间的定义:XML名称空间提供一套简单的方法,将XML文档和URI引用标识的名称相结合,标
30、识一个虚拟的空间,来限定其中的元素和属性。n名称空间在使用之前必须先声明,声明的语法:。n元素声明名称空间的格式:nXML模式中声明名称空间的格式:3.2XML模式之间的调用o实例:实现各分店图书信息格式的统一实例:实现各分店图书信息格式的统一n问题问题:书店需要定期汇总各分店的销售数据,要求各分店使用统一的数据存储格式,将总店指定的信息送到中心数据库。o销售资料包括销售ID、书的ISBN、书名、书的价格、销售数量。o书的ISBN格式为“d-ddd-ddddd-d”,其中d表示为数字。书店的业务流程中,ISBN出现在许多XML文档中,如书籍详细资料、采购详细资料、销售详细资料等,应使ISBN的
31、定义可重复使用,以提高代码的效率。3.2XML模式之间的调用n分析分析n确定所需的元素和属性n确定模式可重用的方法n声明可重用的数据类型n创建XML模式、XML文档n验证XML文档的有效性3.2XML模式之间的调用n解决解决o确定所需的元素和属性元素/属性名称描述元素SELLDETAILXML文档的根元素SELL表示每个销售单的详细资料(包括销售ID、书的ISBN等)BOOKNAMEPRICE表示每一本书的价格QUANTITY表示每一本书的销售数量属性SELLNO表示销售序列号,对于每张销售单是唯一的ISBN表示每一本书的出版号,对于每本书是唯一的3.2XML模式之间的调用n确定模式可重用的方
32、法o通过XML模式提供的include、import元素来实现重用性oinclude元素允许引用同一个名称空间的外部模式。引用的语法:3.2XML模式之间的调用nimport元素o可访问来自多个目标名称空间的模式组件,引用的语法:3.2XML模式之间的调用n声明可重用的数据类型n创建XML模式、XML文档3.2XML模式之间的调用o单元练习单元练习酒店各分店的前台每日要提交订房报表,总店将各分店的订房数据汇总呈交办公室,要求各分店必须按总店规定的数据格式及数据项制作报表。n订房信息包括的数据项有:订房编号、客房编号、客房备注信息、顾客姓名、顾客身份证号码、入住日期、折扣、备注等。n订房编号、折
33、扣、身份证号码在酒店系统的多个XML文档中出现,应将这些数据项的定义编写为可重用的模式,避免代码的重复编写。3.2XML模式之间的调用oXML模式中的组合元素和属性机制模式中的组合元素和属性机制n用于组合XML元素和属性的元素osequence:指定XML文档中元素出现的顺序3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制oall:指定XML文档中元素可以按任意顺序出现3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制ogroup:将XML文档中某些元素组合为一组3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制ochoice:在指
34、定元素组中选择某一个元素呈现在XML文档oattributeGroup:对XML文档中的属性进行组合3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制o实例:高效实现图书采购信息的格式统一实例:高效实现图书采购信息的格式统一n问题问题书店根据缺书登记,定期采购所缺书目,采购部门应按照书店的要求存储采购信息,以保证数据格式的一致性。采购信息包括:采购单号、书ISBN、书名、出版社、供应商ID、价格、数量、登记日期、采购状态。ISBN、书名、出版社是一本书的基本信息。3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制n分析分析n确定XML文档所需的元素和属性
35、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表示每本书
36、的出版社PRICE表示每本书的单价PROVIDERID表示每本书的供应商IDQUANTITY表示采购的书的数量属性SELLSTATE表示采购状态,是否已采购RECORDDATE表示采购单登记的日期SELLID表示采购单序列号n确定组合元素和属性的方法,明确需要组合的元素或属性利用XML中的group、attributeGroup对于常出现的数据项组合,如书名、出版社、单价数据项,在采购信息出现,还可能在缺书登记信息中出现以元素组或属性组形式出现n创建XML模式n创建XML文档n验证XML的有效性3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制o单元练习单元练习酒店管理系统
37、中,需要对订房信息以统一的数据格式存储。订房信息包括:订房编号、客房编号、客房备注信息、顾客姓名、顾客身份证号码、入住日期、折扣、备注等。由于酒店面向国内外客户的,因此,顾客姓名由两部分组成:名FISRTNAME和姓LASTNAME;顾客的身份证号码可以是身份证号码,也可以是护照号码。顾客姓名和身份证号码还在管理系统中的其他多个XML文档中出现。3.3 应用应用XML模式的组合元素和属性机制模式的组合元素和属性机制XML技术及应用第四章XML样式表水利水电出版社水利水电出版社水利水电出版社水利水电出版社古凌岚、罗佳等编著知识要点o什么是样式表oCSS级联式样式表应用oXSL可扩展样式表应用4.
38、1什么是样式表o样式表是包含了标记语言文档的格式化规则文档,这些规则定义了标记语言文档中各个元素的显示样式。o样式表允许完成以下的任务n能够把XML文档转换为另一种结构,主要由XSL来实现n描述显示的格式或者显示布局,主要由CSS来实现4.1什么是样式表4.2级联样式表()的应用o实例:图书信息页面布局的静态设置o问题问题书店管理系统想要显示它所销售的所有书籍的详细资料(详细资料以XML文档形式存储)。需要按照下面指定的格式显示产品的详细资料:(1)每一本书籍的单价、描述和现存量需要以黑色、10pt大小的字体来显示(2)书籍的名称必须以红色、20pt大小的字体来显示。并且应该是以粗体显示。(3
39、)所有的详细资料必须以Arial字体来显示。4.2级联样式表()的应用o实现效果实现效果4.2级联样式表()的应用o分析分析n确定要显示的元素n确定显示格式化数据的机制n创建一个样式表来格式化XML数据4.2级联样式表()的应用o确定要显示的元素在给定的场景中要显示的元素是:BookNamePriceKeywordQty4.2级联样式表()的应用o确定显示格式化数据的机制CSS的基本思想是为结构文档中的各个标记定义出相应的一组显示样式。定义的基本格式为:选择符样式属性:取值;样式属性:取值;.4.2级联样式表()的应用o确定显示格式化数据的机制n选择符o标记o类选择符o标识选择符n样式属性4.
40、2级联样式表()的应用o创建一个样式表来格式化XML数据n引用式on嵌入式o内嵌式是指将CSS样式直接嵌入到XML文档内部,为元素设置style属性,并在属性值中给出样式的定义4.2级联样式表()的应用o单元练习单元练习酒店管理系统想要显示客房详细资料(详细资料以XML文档形式存储)。需要按照下面指定的格式显示产品的详细资料:(1)客房编号需要以黄色、16pt大小、黑色背景、粗体的字体来显示;(2)客房的客房标准编号、客房状态、备注必须以黑色、10pt大小的字体来显示;(3)所有的详细资料必须以Arial字体、左对齐来显示创建一个CSS来按照上面的格式显示供应商的详细资料。4.3 可扩展样式表
41、(可扩展样式表(XSL)的应用)的应用o4.3.1 实例:图书信息页面布局的动态设置实例:图书信息页面布局的动态设置o问题问题书店管理系统需要显示书籍的详细信息(比书店管理系统需要显示书籍的详细信息(比如书籍如书籍ISBN、书籍名称和单价),按价格、书籍名称和单价),按价格升序排列成列表。升序排列成列表。4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用实现效果实现效果4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用o分析分析n确定需要显示的数据元素确定需要显示的数据元素n明确显示数据的机制明确显示数据的机制n确定显示数据所需的元素确定显示数据所需的元素n创建并应用一个样式表
42、创建并应用一个样式表n查看该查看该XML文档文档4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用o确定需要显示的数据元素nBookISBNnBookNamenPrice4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用o明确显示数据的机制nXSLT主要的功能就是转换,它将一个没有形式表现的XML内容文档作为一棵源树,将其转换为一个有样式信息的结果树。n服务器端转换模式n客户端转换模式4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用o确定显示数据所需的元素nstylesheetnvalue-ofnfor-eachnsortntext4.3 可扩展样式表(可扩展样式表(
43、XSL)的应用)的应用oStylesheetn该声明称为样式表声明。样式表声明的语法如下:4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用ovalue-of元素n该元素显示了指定元素或者属性的值。使用该元素的语法如下:4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用ofor-each元素n使用该元素来通知XSLT处理器来处理指定元素的每个实例的信息。使用for-each元素的语法如下:执行动作4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用osort元素nXSLT提供了基于分配给元素和属性的值来排序数据的sort元素n使用sort元素的语法如下所示:4.3 可扩展
44、样式表(可扩展样式表(XSL)的应用)的应用oText元素ntext元素允许你在输出中产生静态的文本。该元素用来显示标签。例如,为了显示标签“BookName:”,你可以用下面的语句来声明:BookName:4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用oXSLT模板规则n在XML文档中确定每一个XML元素的模式。n详细描述目标元素的转换和处理代码。4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用oTemplate元素nTemplate元素用来定义期望输出的一个模板。使用该元素的语法如下:执行的动作4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用oapply-t
45、emplates元素n该元素用来指示XSLT处理器发现一个合适的模板,并且在每个选择的元素上执行指定的任务。使用该元素的语法如下:4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用o缺省模板缺省模板4.3 可扩展样式表(可扩展样式表(XSL)的应用)的应用o单元练习单元练习酒店管理系统将要显示客房标准的详细信息。必须显示客房标准信息,包括的数据项有:标准编号、标准名称、房间面积、床位数量、住房单价。该详细资料必须按照房间面积和价格的升序排列。XML技术及应用第六章XML文档对象模型水利水电出版社水利水电出版社水利水电出版社水利水电出版社古凌岚、罗佳等编著知识要点o确定XML文档对象模型
46、的需求o使用以下的XMLDOM对象访问XML文档:nDOMDocumentnIXMLDOMNodenIXMLDOMNodeListnIXMLDOMParseError6.1XML文档对象模型o文档对象模型n文档对象模型(DOM)类是XML文档的内存中表示形式。DOM使您能够以编程方式读取、操作和修改XML文档。编辑是DOM的主要功能。文档对象模型DOM把文档作为一个对象,通过编程的方式来改变和查询文档。6.1XML文档对象模型o用用MSXML解析器实现解析器实现DOMXMLDocumentMSXMLLibraryParserDOMTreeParsedDocumentApplication6.1
47、XML文档对象模型oXML DOM对象和方法对象和方法nDOMDocument对象nIXMLDOMNode对象nIXMLDOMNodeList对象IXMLDOMParseError对象6.1XML文档对象模型oDOMDocument对象方法方法描述描述AppendChild(childnode)将指定的节点添加到该节点的子节点列表的末尾。CreateAttribute(attributename)创建具有指定名称的XmlAttribute。CreateElement(elementname)创建XmlElement。CreateTextNode(text)创建具有指定文本的XmlText。In
48、sertAfter(childnewChild,childrefChild)将指定的节点紧接着插入指定的引用节点之后。InsertBefore(childnewChild,childrefChild)将指定的节点紧接着插入指定的引用节点之前。Load(XMLDocument)加载指定的XML数据。注意Load方法总是保留重要的空白。PreserveWhitespace属性确定是否保留空白。默认值为false,不保留空白。LoadXml(string)从指定的字符串加载XML文档。RemoveAll()移除当前节点的所有子节点和/或属性。RemoveChild(childnode)移除指定的子节
49、点。ReplaceChild(childnewChild,childoldChild)用newChild节点替换子节点oldChild。Save(destiniona)将XML文档保存到指定的位置。6.1XML文档对象模型oDOMDocument对象属性属性描述描述Async该属性用来指定是否允许异步加载。该属性取不尔值,如果设置为true,那么xml文档的加载和解析将会同时执行;如果设置为false,那么xml文档将先完全加载,然后才进行解析。ChildNodes该属性返回属于一个父节点的子节点集合。DocumentElement该属性返回包含用DOMDocument表示的XML文档的根元素
50、。FirstChild该属性返回父元素的第一个子节点。LastChild该属性返回父元素的最后一个子节点。ParseError该属性返回一个包含大部分最近产生的错误信息的对象。ReadyState该属性返回XML文档的状态。它显示这个文档是否已经完全载入。该属性有四个状态,他们用数值表示,分别为载入中、已下载、正在处理、结束。Xml该属性返回一个节点以及其子节点的XML内容。validateOnParse该属性指定解析器是否在解析XML文档时进行合法性验证。6.1XML文档对象模型oIXMLDOMNode对象对象方法方法描述描述AppendChild(newChild)该方法把节点newChi