1、第10章 数据库与XML学习目标 l掌握XML的基础语法l掌握XML DOM 对象模型l掌握用ASP操作XMLl了解XML文档的数据检索语言Xqueryl了解XML文档关系数据库之间的数据交换方法第10章 数据库与XML 教学内容 l10.1 XML概述l10.2 XML基础l10.3 HTML显示XML数据l10.4 CSS与XSLT转换XML l10.5 XML查询语言Xqueryl10.6 基于关系数据库的XML处理 10.1 XML概述概述教学内容 l10.1.1 XML的产生和发展l10.1.2 XML技术规范l10.1.3 XML语言的特点10.1.1 XML的产生和发展-1lGM
2、L(Standard for Generalized Markup Language,通用标记语言标准)是一种功能强大的文本标示、管理和编排语言,它不仅仅是一种标记语言,还被认为是一种元语言,利用它可以定义各种各样的标记语言。lXML(eXtensible Markup Language,可扩展标记语言)也属于一种标记语言,它同样是SGML的一个简化子集,它将SGML的丰富功能与HTML的易用性结合到Web的应用中,以一种开放的、自我描述方式定义了数据结构。l在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。1996年W3C正式成立了XML工作组,1998年2月,XML1.0被
3、W3C确认为推荐标准。10.1.1 XML的产生和发展-2lXML的家族成员:GML(1969)SGML(1985)XML(1998)HTML(1993)XHTMLHDMLSVGOEB10.1.2 XML技术规范技术规范 XML不是一种单一技术,而是多种技术的组合体。XML可直接在因特网上使用,清晰易读,使用方便,结构简明,表达能力强,适于计算机进行处理,并能很好地运行在不同操作平台。它主要包括以下技术规范:可扩展样式语言(eXtensible Style Language,XSL)。XML链接语言(XML Link Language,包括Xpath、Xlink和 Xpointer)。XML名
4、称空间(XML Namespace)。XML语法检查(XML Schema,DTD)。XML查询(Querying)。10.1.3 XML语言的特点语言的特点 XML语言并非一种传统意义上的编程语言,而是一种基于文本内容的形式描述语言,它具有以下特点:(1)XML文档是纯文本 (2)XML具有可扩展性和灵活性 (3)XML是基于内容的数据标识 (4)具有可格式化性 (5)易于处理 10.2 XML基础教学内容 l10.2.1 XML示例l10.2.2 XML的语法规则l10.2.3 XML的组成元素l10.2.4 SCHEMA简介10.2.1 XML示例示例 XML仅仅是一种数据存放格式,这种
5、格式是一种文本(虽然XML规范中也提供了存放二进制数据的解决方案)。它可以视为一种小型数据库,也可以作为大中型数据库(例如SQL Server、Oracle、MySQL、DB2)的Cache。10.2.2 XML的语法规则的语法规则 由于XML主要用来存储和发送数据信息,所以它的语法规则必然要求非常严格,才能保证数据的完整有效性。相对于HTML而言,XML在格式方面要求更加严格,具体的表现如下所示:(1)所有元素必须有闭合标记。(2)大小写敏感。(3)空格也有意义。(4)嵌套对应。(5)引号不可省略。10.2.3 XML的组成元素(1)PI(Processing Instruction)。PI
6、允许XML文件包含应用程序的指令.(2)元素(Element)。XML元素为整个XML文件的主要架构,每个元素都是由开始标记和结尾标记构成(3)实体(Entity Reference)。(4)属性(Attribute)。在开始标记的标记名后,可以为该标记加上属性名称,每一个属性都包含属性名和属性值(5)CDATA块(CDATA Section)与PCDATA。(6)注释(Comment)。与HTML一样,XML的注释也是由“”结尾,注释只是XML文件的一段解释性文字,解析器在处理XML文件时会忽略注释(7)命名空间(Namespaces)。10.2.4 SCHEMA简介1Schema的引入 S
7、chame下一个简单定义:XML Schema是用来描述XML元素和属性的,它包括属性和元素类型说明,是可以为XML元素和属性提供数据的类型校验模块。2DTD和Schema 提到Schema就必须提到DTD。最早建立对SGML约束的是DTD,而XML又是SGML的超集,所以DTD由于历史的原因也可以对XML本身进行约束 10.3 HTML显示XML数据教学内容 l10.3.1 数据岛l10.3.2 XML DOMl10.3.3 用XML DOM对象在客户端处理XML10.3.1 数据岛数据岛l 数据岛(Data IsLands),在Internet Explorer 5.x以上版本中,可以利用
8、数据岛技术使用标记直接获取XML文件的内容 l 把原始数据存放在XML文档中,使用样式表文件显示内容,这是XML技术适合于电子商务的优势所在。l 把HTML和XML两种技术相结合,优势互补,使真正的原始数据在能够保持本来意义和结构的同时,还能充分利用HTML那千变万化的显示技巧,XML数据岛就是这种技术融合的产物,它使用标签把XML数据直接嵌入到HTML页面中,从而实现了二者的优势互补。10.3.2 XML DOM XML的DOM是个对象模型,它显露XML文档的内容。通过创建 XML 分析程序的实例来使用解析器将XML文档一次性解析,生成一个位于内存中的对象树用以描述该文档。XML DOM是属
9、于W3C的建议规格,这个对象模型提供各种应用程序标准程序设计接口的属性、方法和对象,通过XML DOM,程序设计人员能够实现对XML文件的浏览、添加、删除和修改功能。1Document对象 2NodeList接口 3Node接口 4Element 和 Text 元素对象10.3.3 用用XML DOM对象在客户端处理对象在客户端处理 XML 前面我们使用过“数据岛”在HTML中加载XML文件,现在还可以建立XML DOM对象在客户端加载XML文件。10.4 CSS与XSLT转换XML 教学内容 l10.4.1 层叠样式表CSSl10.4.2 什么是XSLTl10.4.3 XSLT与CSS的区别
10、l10.4.4 利用CSS显示XMLl10.4.5 XSLT示例l10.4.6 XSLT的语法功能l10.4.7 ASP与XSLT转换XML实例10.4.1 层叠样式表层叠样式表CSS CSS即层叠样式表(Cascading Style Sheet)。利用CSS我们可以随意地控制网页中字体的大小、颜色等,便于统一Web的整体风格;可以方便地为网页中的各个元素设置背景颜色和图片并进行精确地定位控制。10.4.2 什么是什么是XSLT XSL(the eXtensible Stylesheet Language,可扩展的样式单语言)的用途就是将XML文档转换成HTML格式的文件,然后再由浏览器显示
11、转换后的结果。在功能上主要分为两个部分:(1)转换XML文件:将XML文件架构转换成另一个XML架构的文件,这部分规格称为XSLT(XSL Transformations),它是一种用来转换XML文档结构的语言。(2)格式化XML文件:格式化元素内容的样式。10.4.3 XSLT与与CSS的区别的区别 CSS与XSLT的区别类别XSLTCSS语法XML语法CSS样式语法是否是转换语言是否适用范围XHTML、XMLHTML、XHTML、XML发展趋势是否10.4.4 利用利用CSS显示显示XML CSS样式表标签 标签属性说明displayblock块对象的默认值,用该值为对象之后添加新行bac
12、kground-color#aabbcc背景颜色font-family宋体使用字体font-size12字体大小margin-left22与左边界距离colorRed字体颜色10.4.5 XSLT示例示例 将XML文档用XSL样式转换为HTML文档的步骤是:先用XML解释器将XML文档解释成DOM对象,相当于建立了原文档的一个节点树。然后用XML解释器解释XSL文档,用模板匹配的方法见遍历XML节点树,将树中的节点按模板的设定转换为模板指示的显示语言,即HTML语言。10.4.6 XSLT的语法功能(1)文档结构。XSLT文档本身是XML文档,第一句还应当是XML文件的声明。(2)XSLT模板
13、。xsl:template是模板元素,通常每个xsl:template有一个节点匹配属性,由“match=”指定。(3)计算节点值。(4)使用xsl:for-each可对所选节点依次进行处理。(5)排序。(6)循环。(7)条件。XSLT支持条件元素,能够根据条件决定是否显示指定元素 10.4.7 ASP与XSLT转换XML实例定义XSLT,将XML进行格式转换,如Ch10-4-3.xsl文件:10.5 XML查询语言Xquery教学内容 l10.5.1 XQuery概述l10.5.2 XQuery语法简介l10.5.3 FLWR查询l10.5.4 查询深入10.5.1 XQuery概述概述-1
14、lXQuery工作组于1999年9月正式成立,其任务是创建一种灵活的查询语言以便从XML文档中抽取数据。目前W3C所公布的最新XQuery草案是2003年11月12日的版本,它还在不断地修订和完善之中。l作为一种新型的查询语言,XQuery汲取了其他多种查询语言的优点,适用于各种类型的XML数据源的查询,不仅查询功能强大,而且简洁灵活且易于实现。lXQuery具有从多种数据库中检索信息的特点,它能对各种数据和文档进行查询。10.5.1 XQuery概述概述-2 XQuery是一种将查询表示成表达式的功能语言。通过它所支持的多种表达式,它的查询可以有各种不同的形式,各种XQuery表达式可以完全
15、嵌套,也支持子查询。目前,数据库业界的三大主流厂商Oracle、IBM、Microsoft都已经在各自的产品中提供了对XQuery规范的支持。10.5.2 XQuery语法简介语法简介1文字与注释.XQuery以“微笑的脸”来作为注释的开始和结束 2数值类型.XQuery支持三种数值常量:整型数,小数,双精度 3XQuery的模块结构 XQuery模块包括三个部分:名字空间和模式声明、函数定义、查询表达式。其中模式声明和函数定义不是必需的。4XPath路径表达式5条件表达式6算术表达式与布尔表达式7FLWR表达式10.5.3 FLWR查询查询 FLWR描述了典型XQuery的结构。在FLWR语
16、句中,数据被绑定到变量,然后,再在后续步骤使用该变量。10.5.4 查询深入查询深入 在FLWR查询语句中,还可以这样的选择结构:if then else 在条件表达中,条件表达式应当赋值为布尔值,或者是一个能被转换为布尔值的类型,如果“条件表达式”的值为真,则整个条件表达的结果的值和“表达式一”的值一样,否则和“表达式二”的值一致。10.6 基于关系数据库的XML处理 教学内容 l10.6.1 关系数据的XML发布l10.6.2 将XML文档中的数据装入关系数据库l10.6.3 关系式数据中产生XML文档10.6.1 关系数据的关系数据的XML发布发布 为了在XML和数据库之间传输数据,需要
17、在文档结构和数据库结构之间进行相互的映射,这样的映射通常分为两大类:1模板驱动的映射 2模型驱动的映射 在XML文档中的数据视图通常有两种模型:1表格模型 2数据专用的对象模型 10.6.2 将将XML文档中的数据装入关系数据库文档中的数据装入关系数据库 根据映射关系,将XML文档内容存储到关系数据库中。按照关系模式的定义,XML文档中的字符串数据、元素惟一标识构成的层次结构关系及元素的顺序语义等信息被组装成元组插入到数据库中。将XML文档中的数据装入关系数据库有两种通用的方法:一是可以将整个文档输入到数据库的列中,二是可以将文档“撕碎”后放到多个关系型表格中。10.6.3 关系式数据中产生关
18、系式数据中产生XML文档文档l在SQL Server 2000中通过使用SELECT语句可以把查询结果存储为XML文档而不是通常意义上的结果集,这样通过比原来少得多的编码就可以使Web应用或其他应用直接使用XML文档。l将关系数据库的查询结果显示成XML文档是通过FOR XML语句来完成的。在使用FOR XML语句的同时可以指定XML的MODE(RAW、AUTO、EXPLICIT)以及XMLDATA 的模式(Schema)。lFOR XML 语句的语法规则为:FOR XML mode,XMLDATA,ELEMENTS,BINARY BASE64本章总结本章总结 XML是跨平台的数据交换语言,本
19、章首先讲述了XML语言的构成体系和语法组成等基本知识。接着讲述了XML文档的显示,即如何用HTML格式显示XML文档内容,重点介绍了数据岛(Data IsLands)方式和XSL(可扩展的样式单语言,the eXtensible Stylesheet Language)方式;然后讲述了对XML文档查询的Xquery语言的语法构成和简单使用,XML和数据库之间的关系,重点是它们之间的数据互存和互访,由于该部分内容还未规定为国际标准,因此学习时可作为了解内容。习 题l1XML有什么特点?l2简述一下XML的语法规则。l3利用数据岛或XML DOM写一个在客户端处理XML的例子。l4XSLT的语法功能有哪些?l5参考10.5章的例子,写一段用ASP、XSLT转换XML的例子。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。