第10章数据库与XML-08

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第10章数据库与XML学习目标掌握XML的基础语法掌握XMLDOM对象模型掌握用ASP操作XML了解XML文档的数据检索语言Xquery了解XML文档关系数据库之间的数据交换方法第10章数据库与XML教学内容10.1XML概述10.2XML基础10.3HTML显示XML数据10.4CSS与XSLT转换XML10.5XML查询语言Xquery10.6基于关系数据库的XML处理10.1XML概述教学内容10.1.1XML的产生和发展10.1.2XML技术规范10.1.3XML语言的特点10.1.1XML的产生和发展---1GML(StandardforGeneralizedMarkupLanguage,通用标记语言标准)是一种功能强大的文本标示、管理和编排语言,它不仅仅是一种标记语言,还被认为是一种元语言,利用它可以定义各种各样的标记语言。XML(eXtensibleMarkupLanguage,可扩展标记语言)也属于一种标记语言,它同样是SGML的一个简化子集,它将SGML的丰富功能与HTML的易用性结合到Web的应用中,以一种开放的、自我描述方式定义了数据结构。在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。1996年W3C正式成立了XML工作组,1998年2月,XML1.0被W3C确认为推荐标准。10.1.1XML的产生和发展---2XML的家族成员:GML(1969)SGML(1985)XML(1998)HTML(1993))XHTMLHDMLSVGOEB…10.1.2XML技术规范XML不是一种单一技术,而是多种技术的组合体。XML可直接在因特网上使用,清晰易读,使用方便,结构简明,表达能力强,适于计算机进行处理,并能很好地运行在不同操作平台。它主要包括以下技术规范:可扩展样式语言(eXtensibleStyleLanguage,XSL)。XML链接语言(XMLLinkLanguage,包括Xpath、Xlink和Xpointer)。XML名称空间(XMLNamespace)。XML语法检查(XMLSchema,DTD)。XML查询(Querying)。10.1.3XML语言的特点XML语言并非一种传统意义上的编程语言,而是一种基于文本内容的形式描述语言,它具有以下特点:(1)XML文档是纯文本(2)XML具有可扩展性和灵活性(3)XML是基于内容的数据标识(4)具有可格式化性(5)易于处理10.2XML基础教学内容10.2.1XML示例10.2.2XML的语法规则10.2.3XML的组成元素10.2.4SCHEMA简介10.2.1XML示例XML仅仅是一种数据存放格式,这种格式是一种文本(虽然XML规范中也提供了存放二进制数据的解决方案)。它可以视为一种小型数据库,也可以作为大中型数据库(例如SQLServer、Oracle、MySQL、DB2)的Cache。10.2.2XML的语法规则由于XML主要用来存储和发送数据信息,所以它的语法规则必然要求非常严格,才能保证数据的完整有效性。相对于HTML而言,XML在格式方面要求更加严格,具体的表现如下所示:(1)所有元素必须有闭合标记。(2)大小写敏感。(3)空格也有意义。(4)嵌套对应。(5)引号不可省略。10.2.3XML的组成元素(1)PI(ProcessingInstruction)。PI允许XML文件包含应用程序的指令.(2)元素(Element)。XML元素为整个XML文件的主要架构,每个元素都是由开始标记和结尾标记构成(3)实体(EntityReference)。(4)属性(Attribute)。在开始标记的标记名后,可以为该标记加上属性名称,每一个属性都包含属性名和属性值(5)CDATA块(CDATASection)与PCDATA。(6)注释(Comment)。与HTML一样,XML的注释也是由“!--”开始和“--”结尾,注释只是XML文件的一段解释性文字,解析器在处理XML文件时会忽略注释(7)命名空间(Namespaces)。10.2.4SCHEMA简介1.Schema的引入Schame下一个简单定义:XMLSchema是用来描述XML元素和属性的,它包括属性和元素类型说明,是可以为XML元素和属性提供数据的类型校验模块。2.DTD和Schema提到Schema就必须提到DTD。最早建立对SGML约束的是DTD,而XML又是SGML的超集,所以DTD由于历史的原因也可以对XML本身进行约束10.3HTML显示XML数据教学内容10.3.1数据岛10.3.2XMLDOM10.3.3用XMLDOM对象在客户端处理XML10.3.1数据岛数据岛(DataIsLands),在InternetExplorer5.x以上版本中,可以利用数据岛技术使用XML标记直接获取XML文件的内容把原始数据存放在XML文档中,使用样式表文件显示内容,这是XML技术适合于电子商务的优势所在。把HTML和XML两种技术相结合,优势互补,使真正的原始数据在能够保持本来意义和结构的同时,还能充分利用HTML那千变万化的显示技巧,XML数据岛就是这种技术融合的产物,它使用XML标签把XML数据直接嵌入到HTML页面中,从而实现了二者的优势互补。10.3.2XMLDOMXML的DOM是个对象模型,它显露XML文档的内容。通过创建XML分析程序的实例来使用解析器将XML文档一次性解析,生成一个位于内存中的对象树用以描述该文档。XMLDOM是属于W3C的建议规格,这个对象模型提供各种应用程序标准程序设计接口的属性、方法和对象,通过XMLDOM,程序设计人员能够实现对XML文件的浏览、添加、删除和修改功能。1.Document对象2.NodeList接口3.Node接口4.Element和Text元素对象10.3.3用XMLDOM对象在客户端处理XML前面我们使用过“数据岛”在HTML中加载XML文件,现在还可以建立XMLDOM对象在客户端加载XML文件。10.4CSS与XSLT转换XML教学内容10.4.1层叠样式表CSS10.4.2什么是XSLT10.4.3XSLT与CSS的区别10.4.4利用CSS显示XML10.4.5XSLT示例10.4.6XSLT的语法功能10.4.7ASP与XSLT转换XML实例10.4.1层叠样式表CSSCSS即层叠样式表(CascadingStyleSheet)。利用CSS我们可以随意地控制网页中字体的大小、颜色等,便于统一Web的整体风格;可以方便地为网页中的各个元素设置背景颜色和图片并进行精确地定位控制。10.4.2什么是XSLTXSL(theeXtensibleStylesheetLanguage,可扩展的样式单语言)的用途就是将XML文档转换成HTML格式的文件,然后再由浏览器显示转换后的结果。在功能上主要分为两个部分:(1)转换XML文件:将XML文件架构转换成另一个XML架构的文件,这部分规格称为XSLT(XSLTransformations),它是一种用来转换XML文档结构的语言。(2)格式化XML文件:格式化元素内容的样式。10.4.3XSLT与CSS的区别CSS与XSLT的区别类别XSLTCSS语法XML语法CSS样式语法是否是转换语言是否适用范围XHTML、XMLHTML、XHTML、XML发展趋势是否10.4.4利用CSS显示XMLCSS样式表标签标签属性说明displayblock块对象的默认值,用该值为对象之后添加新行background-color#aabbcc背景颜色font-family宋体使用字体font-size12字体大小margin-left22与左边界距离colorRed字体颜色10.4.5XSLT示例将XML文档用XSL样式转换为HTML文档的步骤是:先用XML解释器将XML文档解释成DOM对象,相当于建立了原文档的一个节点树。然后用XML解释器解释XSL文档,用模板匹配的方法见遍历XML节点树,将树中的节点按模板的设定转换为模板指示的显示语言,即HTML语言。10.4.6XSLT的语法功能(1)文档结构。XSLT文档本身是XML文档,第一句还应当是XML文件的声明。(2)XSLT模板。xsl:template是模板元素,通常每个xsl:template有一个节点匹配属性,由“match=”指定。(3)计算节点值。(4)使用xsl:for-each可对所选节点依次进行处理。(5)排序。(6)循环。(7)条件。XSLT支持条件元素,能够根据条件决定是否显示指定元素10.4.7ASP与XSLT转换XML实例定义XSLT,将XML进行格式转换,如Ch10-4-3.xsl文件:?xmlversion='1.0'?xsl:stylesheetxmlns:xsl=:templatematch=/htmlbodyxsl:for-eachselect=Company/Personxsl:choosexsl:whenmatch=.[SEX='man']fontcolor=greenlixsl:value-ofselect=NAME//li/fontbr//xsl:whenxsl:otherwisematch=.[SEX='woman']fontcolor=redlixsl:value-ofselect=NAME//li/fontbr//xsl:otherwisexsl:otherwisebr/fontcolor=bluexsl:value-ofselect=NAME//font/xsl:otherwise/xsl:choose/xsl:for-each/body/html/xsl:template/xsl:stylesheet10.5XML查询语言Xquery教学内容10.5.1XQuery概述10.5.2XQuery语法简介10.5.3FLWR查询10.5.4查询深入10.5.1XQuery概述---1XQuery工作组于1999年9月正式成立,其任务是创建一种灵活的查询语言以便从XML文档中抽取数据。目前W3C所公布的最新XQuery草案是2003年11月12日的版本,它还在不断地修订和完善之中。作为一种新型的查询语言,XQuery汲取了其他多种查询语言的优点,适用于各种类型的XML数据源的查询,不仅查询功能强大,而且简洁灵活且易于实现。XQuery具有从多种数据库中检索信息的特点,它能对各种数据和文档进行查询。10.5.1XQuery概述---2XQuery是一种将查询表示成表达式的功能语言。通过它所支持的多种表达式,它的查询可以有各种不同的形式,各种XQuery表达式可以完全嵌套,也支持子查询。目前,数据库业界的三大主流厂商Oracle、IBM、Microsoft都已经在各自的产品中提供了对XQuery规范的支持。10.5.2XQuery语法简介1.文字与注释.XQuery以“微笑的脸”来作为注释的开始和结束2.数值类型.XQuery支持三种数值常量:整型数,小数,双精度3.XQuery的模块结构XQuery模块包括三个部分:名字空间和模式声明、函数定义、查询表达式。其中模式声明和函数定义不是必需的。4.XPath路径表达式5.条件表达式6.算术表达式与布尔表达式7.FLWR表达式10.5.3FLWR查询FLWR描述了典型XQuery的结构。在FLWR语句中,数据被绑定到变量,然后,再在后续步骤使用该变量。10.5.4查询深入在FLWR查询语句中,还可以这样的选择结构:if条件表达式then表达式一else表达式二在条件表达中,条件表达式应当赋值为布尔值,或者是一个能被转换为布尔值的类型,如

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功