XQuery语言的发展PPT课件.ppt

上传人:peixunshi0 文档编号:31048 上传时间:2025-07-08 格式:PPT 页数:66 大小:492.50KB
下载 相关 举报
XQuery语言的发展PPT课件.ppt_第1页
第1页 / 共66页
XQuery语言的发展PPT课件.ppt_第2页
第2页 / 共66页
XQuery语言的发展PPT课件.ppt_第3页
第3页 / 共66页
XQuery语言的发展PPT课件.ppt_第4页
第4页 / 共66页
XQuery语言的发展PPT课件.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、XQuery语言的发展语言的发展“计算机科学与技术的发展计算机科学与技术的发展”讲座讲座廖湖声廖湖声计算机学院软件系计算机学院软件系什么是什么是XQuery语言语言n n标准的标准的标准的标准的XMLXML数据查询语言数据查询语言数据查询语言数据查询语言预备知识预备知识预备知识预备知识n n1 1、XMLXML语言语言语言语言n n网络数据交换和数据共享的标准网络数据交换和数据共享的标准网络数据交换和数据共享的标准网络数据交换和数据共享的标准n n平台无关、平台无关、平台无关、平台无关、XMLXML数据库数据库数据库数据库n n2 2、XPathXPath 语言语言语言语言n n支持支持支持支

2、持XMLXML数据查询数据查询数据查询数据查询n n3 3、XQueryXQuery 语言语言语言语言n n支持支持支持支持XMLXML数据查询、数据查询、数据查询、数据查询、XMLXML文档构造文档构造文档构造文档构造n n支持函数式程序设计、支持函数式程序设计、支持函数式程序设计、支持函数式程序设计、XMLXML数据更新数据更新数据更新数据更新一、一、XML语言语言n nXMLXML语言语言语言语言n n可扩展标记语言(可扩展标记语言(可扩展标记语言(可扩展标记语言(eXtensibleeXtensibleMarkupLanguageMarkupLanguage)n n为数据交换和数据共享

3、提供平台无关的数据格式为数据交换和数据共享提供平台无关的数据格式为数据交换和数据共享提供平台无关的数据格式为数据交换和数据共享提供平台无关的数据格式n n简例简例简例简例信息安全专业的学生信息安全专业的学生信息安全专业的学生信息安全专业的学生物理老师物理老师物理老师物理老师考试通知考试通知考试通知考试通知44月月月月2 2日早日早日早日早8 8点在点在点在点在3 3教教教教402402室考试室考试室考试室考试文档声明文档声明文文档档内内容容为什么使用为什么使用XML语言语言n n网络应用系统的重要问题网络应用系统的重要问题网络应用系统的重要问题网络应用系统的重要问题n n跨网络跨网络跨网络跨网

4、络 数据传输、数据共享数据传输、数据共享数据传输、数据共享数据传输、数据共享n n跨平台跨平台跨平台跨平台 不同的软件系统、硬件系统不同的软件系统、硬件系统不同的软件系统、硬件系统不同的软件系统、硬件系统n n网络数据交换和数据共享的重要问题网络数据交换和数据共享的重要问题网络数据交换和数据共享的重要问题网络数据交换和数据共享的重要问题n n不同的数据格式和语义不同的数据格式和语义不同的数据格式和语义不同的数据格式和语义 异构数据异构数据异构数据异构数据n n不同的开发平台和开发语言不同的开发平台和开发语言不同的开发平台和开发语言不同的开发平台和开发语言 异构环境异构环境异构环境异构环境n n

5、网络应用中需要统一的数据表示网络应用中需要统一的数据表示网络应用中需要统一的数据表示网络应用中需要统一的数据表示n n候选者候选者候选者候选者n nHTMLHTML语言语言语言语言 网页编制(仍不规范)网页编制(仍不规范)网页编制(仍不规范)网页编制(仍不规范)n nXMLXML语言语言语言语言 简单、可扩展、事实上的标准简单、可扩展、事实上的标准简单、可扩展、事实上的标准简单、可扩展、事实上的标准n n重要性重要性重要性重要性n n计算机网络和应用系统无处不在,都要使用计算机网络和应用系统无处不在,都要使用计算机网络和应用系统无处不在,都要使用计算机网络和应用系统无处不在,都要使用XMLXM

6、L数据数据数据数据1.1XML语言结构语言结构n n基本结构基本结构基本结构基本结构n nXMLXML声明声明声明声明文档首行文档首行文档首行文档首行n n元素元素元素元素内容内容内容内容可嵌套可嵌套可嵌套可嵌套n n属性属性属性属性name=“value”name=“value”n nCDATACDATA!CDATA文本数据文本数据文本数据文本数据n n注释注释注释注释!-n n处理指令处理指令处理指令处理指令?应用领域应用领域应用领域应用领域n n声明声明声明声明!专用定义专用定义专用定义专用定义n n标记标记标记标记tagtagn n标记标记标记标记=命名空间命名空间命名空间命名空间:局

7、部名局部名局部名局部名 namespace:localnamenamespace:localname n n命名空间:解决语义异构问题命名空间:解决语义异构问题命名空间:解决语义异构问题命名空间:解决语义异构问题n n自描述性:以标记说明内容的语义自描述性:以标记说明内容的语义自描述性:以标记说明内容的语义自描述性:以标记说明内容的语义简例简例简例简例2 2:Books.xmlBooks.xml?xmlversion=1.0encoding=ISO-8859-1?category=COOKINGtitleEveryday=enEverydayItalianItalianGiadaGiadaDe

8、DeLaurentiisLaurentiis2005200530.0030.00 titleHarryPotter=enHarryPotterJK.RowlingJK.Rowling2005200529.9929.99 category=WEBtitle=enXQueryXQueryKickKickStartStartJamesMcGovernJamesMcGovernPerPerBothnerBothnerKurtCagleKurtCagleJamesLinnJamesLinnVaidyanathanVaidyanathan NagarajanNagarajan2003200349.9949

9、99 category=WEBtitleLearning=enLearningXMLXMLErikT.RayErikT.Ray2003200339.9539.95 XML文档树文档树文挡节点文挡节点文挡节点文挡节点bookstorebookstorebookbookbookbooktitletitletitletitlepriceprice39.9539.95EverydayItalianEverydayItalian1.2XML数据类型数据类型n n数据类型的描述工具数据类型的描述工具n nDTDDTD(DocumentTypeDefinitionDocumentTypeDefinitio

10、n)n nXMLSchemaXMLScheman n正规式类型系统正规式类型系统正规式类型系统正规式类型系统n n用途用途n n描述应用领域的数据组织描述应用领域的数据组织描述应用领域的数据组织描述应用领域的数据组织n n检查检查检查检查 XMLXML数据的合法性(良构性)数据的合法性(良构性)数据的合法性(良构性)数据的合法性(良构性)n n数据查询请求(查询语句)的优化数据查询请求(查询语句)的优化数据查询请求(查询语句)的优化数据查询请求(查询语句)的优化n n数据查询和处理算法的优化数据查询和处理算法的优化数据查询和处理算法的优化数据查询和处理算法的优化DTD的案例的案例!ELEMEN

11、T*)!ELEMENT,author+,year,price)!ATTLIST title CDATA#IMPLIEDn n在在在在XMLXML文档中引用文档中引用文档中引用文档中引用DTDDTD文件的方法文件的方法文件的方法文件的方法!DOCTYPE bookstore SYSTEM“”用正规式描述用正规式描述元素类型元素类型元素属性名称、元素属性名称、类型描述类型描述必需属性必需属性可选属性可选属性必须是文本必须是文本XMLSchema的案例的案例=http:/www.w3.org/2001/XMLSchema name=“bookstore =unbounded/=“unbounded/

12、类型的定义类型的定义命名空间定义命名空间定义元素类型的说明元素类型的说明最多出现最多出现次数次数正规式类型系统正规式类型系统n n案例:案例:案例:案例:n nBookStoreTypeBookStoreType:=bookstore(:=bookstore(BookTypeBookType*)*)n nBookTypeBookType:=book(title,author+,year,price):=book(title,author+,year,price)n n结构结构结构结构n n类型名类型名类型名类型名:=:=正规式正规式正规式正规式n n特点特点特点特点n nXMLXML类型的抽象

13、描述,形成理论模型类型的抽象描述,形成理论模型类型的抽象描述,形成理论模型类型的抽象描述,形成理论模型n n支持合法性算法的分析与设计支持合法性算法的分析与设计支持合法性算法的分析与设计支持合法性算法的分析与设计n n三种类型描述的比较:三种类型描述的比较:三种类型描述的比较:三种类型描述的比较:n nDTDDTD:简单、实用、不灵活:简单、实用、不灵活:简单、实用、不灵活:简单、实用、不灵活n nXMLSchemaXMLSchema:功能强大、可扩展:功能强大、可扩展:功能强大、可扩展:功能强大、可扩展n n正规式类型系统:支持理论分析正规式类型系统:支持理论分析正规式类型系统:支持理论分析

14、正规式类型系统:支持理论分析1.3XML语言的应用扩展语言的应用扩展n n扩展的用途扩展的用途扩展的用途扩展的用途n n专用领域内的通用数据格式专用领域内的通用数据格式专用领域内的通用数据格式专用领域内的通用数据格式n n基本方法基本方法基本方法基本方法n n规定应用领域的命名空间规定应用领域的命名空间规定应用领域的命名空间规定应用领域的命名空间n n按照应用领域的专业词汇来设计专用的标记(按照应用领域的专业词汇来设计专用的标记(按照应用领域的专业词汇来设计专用的标记(按照应用领域的专业词汇来设计专用的标记(TagTag)n n按照应用领域的信息组织来设计专用的数据类型按照应用领域的信息组织来

15、设计专用的数据类型按照应用领域的信息组织来设计专用的数据类型按照应用领域的信息组织来设计专用的数据类型(DTD/XMLSchemaDTD/XMLSchema)n n从而可以用从而可以用从而可以用从而可以用XMLXML语言描述应用领域的数据语言描述应用领域的数据语言描述应用领域的数据语言描述应用领域的数据n n目标目标目标目标n n形成支持网络应用的领域专用语言形成支持网络应用的领域专用语言形成支持网络应用的领域专用语言形成支持网络应用的领域专用语言n n支持跨网络的专用数据共享和数据交换支持跨网络的专用数据共享和数据交换支持跨网络的专用数据共享和数据交换支持跨网络的专用数据共享和数据交换n n

16、借助借助借助借助XMLXML合法性检查来检查应用数据的合法性合法性检查来检查应用数据的合法性合法性检查来检查应用数据的合法性合法性检查来检查应用数据的合法性几个应用领域的扩展几个应用领域的扩展XML语言语言n nWSDLWSDL:WebWeb服务描述语言服务描述语言服务描述语言服务描述语言n nSMILSMIL:同步多媒体集成语言:同步多媒体集成语言:同步多媒体集成语言:同步多媒体集成语言n nSVGSVG:可缩放矢量图像标记语言:可缩放矢量图像标记语言:可缩放矢量图像标记语言:可缩放矢量图像标记语言n nMathMLMathML:数学标记语言:数学标记语言:数学标记语言:数学标记语言n nB

17、SMLBSML:生物信息序列标记语言:生物信息序列标记语言:生物信息序列标记语言:生物信息序列标记语言n nHRMMLHRMML:人力资源管理标记语言:人力资源管理标记语言:人力资源管理标记语言:人力资源管理标记语言n nMusicMLMusicML:音乐标记语言:音乐标记语言:音乐标记语言:音乐标记语言n nAMLAML:天文数据标记语言:天文数据标记语言:天文数据标记语言:天文数据标记语言n nCMLCML:化学标记语言:化学标记语言:化学标记语言:化学标记语言n n。n n。XML相关技术相关技术n nW3CW3C中文教学网站中文教学网站中文教学网站中文教学网站n nhttp:/http

18、/n n相关技术相关技术相关技术相关技术n nXMLDOM-XMLXMLDOM-XML文档对象模型文档对象模型文档对象模型文档对象模型n nXPathXPath-简易简易简易简易 XMLXML查询语言查询语言查询语言查询语言n nXSLT-XMLXSLT-XML数据变换语言数据变换语言数据变换语言数据变换语言n nXQueryXQuery-XML-XML查询语言(编程语言)查询语言(编程语言)查询语言(编程语言)查询语言(编程语言)n nXLinkXLink-XML-XML链接语言(支持超级连接)链接语言(支持超级连接)链接语言(支持超级连接)链接语言(支持超级连接)n nXPointerX

19、Pointer-XML-XML指针语言(指向指针语言(指向指针语言(指向指针语言(指向XMLXML片段)片段)片段)片段)n nXFormXForm-下一代下一代下一代下一代 HTMLHTML表单语言表单语言表单语言表单语言n n。二、二、XPath语言语言n nXPathXPath:XMLXML数据查询语言数据查询语言数据查询语言数据查询语言n n查询查询查询查询 XMLXML文档中的数据元素、属性文档中的数据元素、属性文档中的数据元素、属性文档中的数据元素、属性n nXPathXPath 表达式表达式表达式表达式n n指定文档路径,获得节点集指定文档路径,获得节点集指定文档路径,获得节点集

20、指定文档路径,获得节点集n n类似于文件系统的路径类似于文件系统的路径类似于文件系统的路径类似于文件系统的路径n n绝对路径例:绝对路径例:绝对路径例:绝对路径例:n n/book/book选择根的所有选择根的所有选择根的所有选择根的所有bookbook子孙节点子孙节点子孙节点子孙节点n n相对路径例:(相对于当前节点)相对路径例:(相对于当前节点)相对路径例:(相对于当前节点)相对路径例:(相对于当前节点)n nbookstore/bookbookstore/book选择选择选择选择bookstorebookstore的所有的所有的所有的所有bookbook子节点子节点子节点子节点n nbo

21、okstore/titlebookstore/title选择选择选择选择bookstorebookstore中所有中所有中所有中所有titletitle子孙节点子孙节点子孙节点子孙节点XPath表达式表达式n n条件查询条件查询条件查询条件查询n n/bookstore/book1/bookstore/book1第一个第一个第一个第一个bookbook节点节点节点节点 n n/bookstore/bookstore/bookpricebookprice35.0035.00价格大于价格大于价格大于价格大于3535的的的的bookbook节点节点节点节点n n/title*/title*有属性的有

22、属性的有属性的有属性的titletitle节点节点节点节点n n常用符号常用符号常用符号常用符号n n/父子关系父子关系父子关系父子关系/祖孙关系祖孙关系祖孙关系祖孙关系n n.当前节点当前节点当前节点当前节点.双亲节点双亲节点双亲节点双亲节点n n属性属性属性属性*匹配所有元素匹配所有元素匹配所有元素匹配所有元素n n查询步的计算查询步的计算查询步的计算查询步的计算n n四则运算、关系运算、逻辑运算四则运算、关系运算、逻辑运算四则运算、关系运算、逻辑运算四则运算、关系运算、逻辑运算n nfollowingfollowing、preceding-siblingpreceding-sibling

23、等等等等1313种轴操作种轴操作种轴操作种轴操作n nlast()last()、position()position()等等等等100100多个函数多个函数多个函数多个函数查询步查询步轴操作轴操作:节点测试节点测试谓词谓词*n n轴操作:轴操作:轴操作:轴操作:AxisAxisn n当前节点和所选节点的关系,如:当前节点和所选节点的关系,如:当前节点和所选节点的关系,如:当前节点和所选节点的关系,如:attributeattribute、ancestorancestorn n节点测试:节点测试:节点测试:节点测试:nodetestnodetestn n指定节点种类,如:指定节点种类,如:指定节

24、点种类,如:指定节点种类,如:tagtag、*、node()node()、text()text()n n谓词:谓词:谓词:谓词:predicatepredicaten n存在条件,如:存在条件,如:存在条件,如:存在条件,如:titletitle、*n n选择条件,如:选择条件,如:选择条件,如:选择条件,如:price35price35、last()5last()5n n简化条件,如:简化条件,如:简化条件,如:简化条件,如:position()=2position()=2简写为简写为简写为简写为 22n n案例案例案例案例n nancestor-or-ancestor-or-self:bo

25、okself:book count(authorcount(author)2)2n nchild:*/child:*/child:pricechild:price 可简写为可简写为可简写为可简写为*/price*/price三、三、XQuery语言语言n nXQuery语言:标准的语言:标准的XML查询语言查询语言n nSQLSQL语言是标准的关系数据库查询语言语言是标准的关系数据库查询语言语言是标准的关系数据库查询语言语言是标准的关系数据库查询语言n nXQueryXQuery语言是语言是语言是语言是 XMLXML数据的数据的数据的数据的“SQL”SQL”语言语言语言语言n n特点:特点:n

26、 n包含包含包含包含 XPathXPath 语言(数据模型、运算符和函数)语言(数据模型、运算符和函数)语言(数据模型、运算符和函数)语言(数据模型、运算符和函数)n n支持支持支持支持 XMLXML文档的查询和构造文档的查询和构造文档的查询和构造文档的查询和构造n n可构造可构造可构造可构造XHTMLXHTML网页、网页、网页、网页、XMLXML文档文档文档文档n n提供选择结构、有限的循环结构、自定义函数提供选择结构、有限的循环结构、自定义函数提供选择结构、有限的循环结构、自定义函数提供选择结构、有限的循环结构、自定义函数n n支持函数式程序设计(无赋值语句)支持函数式程序设计(无赋值语句

27、支持函数式程序设计(无赋值语句)支持函数式程序设计(无赋值语句)查询例:查询例:XQuery简例简例forfor$x$xinin doc(books.xmldoc(books.xml)/bookstore/book)/bookstore/bookwherewhere$x/price30$x/price30orderbyorderby$x/title$x/titlereturnreturn$x/title$x/titlen n结果结果结果结果titleLearningXML=enLearningXMLtitle=enXQueryXQueryKickStartKickStartn n针对针对针对

28、针对 XPathXPath 查询结果的选择、排序和重组查询结果的选择、排序和重组查询结果的选择、排序和重组查询结果的选择、排序和重组n n核心:核心:核心:核心:FLWORFLWOR表达式表达式表达式表达式HTML网页的构造例网页的构造例书店书店书店书店 for$xinfor$xindoc(books.xmldoc(books.xml)/bookstore/book)/bookstore/bookorderby$x/titleorderby$x/titlereturnreturnletlet$t:=data($x/title),$t:=data($x/title),$c:=data($x/ca

29、tegory)$c:=data($x/category)returnreturn$t.$t.分类分类分类分类:$c:$c/n n说明说明说明说明n nletlet提供局部变量定义(改善可读性、避免重复计算)提供局部变量定义(改善可读性、避免重复计算)提供局部变量定义(改善可读性、避免重复计算)提供局部变量定义(改善可读性、避免重复计算)n n计算结果和字符串的隐式连接计算结果和字符串的隐式连接计算结果和字符串的隐式连接计算结果和字符串的隐式连接基于自定义函数的程序设计例基于自定义函数的程序设计例declarefunctiondeclarefunctionlocal:local:sumPrice

30、sumPrice($sitem()*)as($sitem()*)asxs:decimalxs:decimal if(if(fn:emptyfn:empty($s)($s)thenthenreturnreturn 0 0elseelsereturn$s1+return$s1+local:local:sumPricesumPrice(fn:subsequencefn:subsequence($s,2)($s,2);(:(:函数的调用函数的调用函数的调用函数的调用:):)letlet$s:=for$bin$s:=for$bindoc(books.xmldoc(books.xml)/bookstore

31、/book)/bookstore/bookreturndata($b/price)returndata($b/price)returnreturnlocal:local:sumPricesumPrice($s($s)/XQueryAPIforJava(XQJ)n n为为Java程序中使用程序中使用XQuery语言提供统一的语言提供统一的编程接口编程接口n n与与与与 XMLXML数据源连接数据源连接数据源连接数据源连接n n准备和提交准备和提交准备和提交准备和提交 XQueryXQuery查询查询查询查询n n将查询结果作为将查询结果作为将查询结果作为将查询结果作为 XMLXML数据处理数据处

32、理数据处理数据处理n n进行进行进行进行XMLXML数据处理和数据集成处理数据处理和数据集成处理数据处理和数据集成处理数据处理和数据集成处理n nXQuery语言的各种实现应符合语言的各种实现应符合XQJ规范规范n n基于不同数据源的查询引擎基于不同数据源的查询引擎基于不同数据源的查询引擎基于不同数据源的查询引擎n n不同平台的不同平台的不同平台的不同平台的 XQueryXQuery引擎引擎引擎引擎XQJ使用例使用例XQDataSourceXQDataSource xqdxqd=new=newDDXQDataSourceDDXQDataSource();();/创建数据源创建数据源创建数据源创

33、建数据源XQConnectionXQConnection xqcxqc=xqd.getConnectionxqd.getConnection();();/建立连接建立连接建立连接建立连接XQPreparedExpressionXQPreparedExpression xqpxqp=xqc.prepareExpressionxqc.prepareExpression(/准备准备准备准备“declarevariable$idasdeclarevariable$idasxs:stringxs:stringexternal;external;”+”+/外部变量外部变量外部变量外部变量声明声明声明声明“

34、doc(orders.xml)/orderiddoc(orders.xml)/orderid=$id=$id”);”);/XQueryXQuery查询表达式查询表达式查询表达式查询表达式XQSequenceXQSequence xqsxqs;xqp.xqp.bindStrinbindString(newg(newQName(“id”),“174”,null);QName(“id”),“174”,null);/绑定变量绑定变量绑定变量绑定变量XQSequenceXQSequence xqsxqs=xqp.xqp.executeQueryexecuteQuery();();/执行首次查询执行首次查

35、询执行首次查询执行首次查询xqs.writeSequence(System.outxqs.writeSequence(System.out,null);,null);。xqp.xqp.bindStringbindString(new(new QName(“idQName(“id”),“267”,null);”),“267”,null);/绑定变量绑定变量绑定变量绑定变量xqsxqs=xqp.xqp.executeQueryexecuteQuery();();/执行再次查询执行再次查询执行再次查询执行再次查询xqs.writeSequence(System.outxqs.writeSequenc

36、e(System.out,null);,null);xqc.closexqc.close();();四、四、XQuery语言的发展语言的发展1.1.XMLXML数据更新功能数据更新功能数据更新功能数据更新功能2.2.全文检索功能全文检索功能全文检索功能全文检索功能3.3.WebWeb软件开发功能软件开发功能软件开发功能软件开发功能4.4.动态网页开发功能动态网页开发功能动态网页开发功能动态网页开发功能5.5.分布式软件开发分布式软件开发分布式软件开发分布式软件开发目标:目标:目标:目标:n n发挥发挥发挥发挥XQueryXQuery语言简洁、描述能力强等说明语言简洁、描述能力强等说明语言简洁、

37、描述能力强等说明语言简洁、描述能力强等说明型语言的特点,在更多的领域代替传统的型语言的特点,在更多的领域代替传统的型语言的特点,在更多的领域代替传统的型语言的特点,在更多的领域代替传统的Java/JavaScriptJava/JavaScript语言语言语言语言1、扩展、扩展XML数据更新功能数据更新功能n nXQueryXQueryUpdateFacility1.0(W3C)UpdateFacility1.0(W3C)n n数据更新表达式数据更新表达式数据更新表达式数据更新表达式n n插入、删除、修改。插入、删除、修改。插入、删除、修改。插入、删除、修改。n n程序例程序例程序例程序例for

38、bindoc(“Library1.xml”)/bookfor$bindoc(“Library1.xml”)/bookletlet$c:=doc(“Library2.xml”)$c:=doc(“Library2.xml”)returnreturn insertinsert$b$bintointo$c/library$c/libraryn n将文件将文件将文件将文件Library1.xmlLibrary1.xml中的所有中的所有中的所有中的所有bookbook元素作为孩子节点元素作为孩子节点元素作为孩子节点元素作为孩子节点插入到文件插入到文件插入到文件插入到文件Library2.xmlLibra

39、ry2.xml的的的的librarylibrary元素中。元素中。元素中。元素中。2、扩展全文检索功能n nXQueryXQuery1.0and1.0andXPathXPath2.0Full-Text2.0Full-Textn n在在在在XMLXML文本数据库中检索信息文本数据库中检索信息文本数据库中检索信息文本数据库中检索信息n n检索查询例检索查询例检索查询例检索查询例for$bfor$bscorescore$s$s相关度相关度相关度相关度in/books/in/books/bookcontentbookcontent ftcontainsftcontains 包含包含包含包含(“webs

40、ite”(“website”weightweight0.2)0.2)&权重(与)权重(与)权重(与)权重(与)(“usability”(“usability”weightweight0.8)0.8)权重权重权重权重wherewhere$s0.5$s0.5orderby$sdescendingorderby$sdescendingreturnreturn$b/title$b/title$s$s3、扩展、扩展Web软件开发功能软件开发功能n n脚本语言脚本语言过程化程序设计过程化程序设计n nXQueryXQueryScriptingExtension1.0(W3C)ScriptingExtens

41、ion1.0(W3C)n nXQueryPXQueryPn n支持变量声明、赋值语句、控制结构支持变量声明、赋值语句、控制结构支持变量声明、赋值语句、控制结构支持变量声明、赋值语句、控制结构n n支持支持Web网络软件的开发网络软件的开发n nWebWeb服务的开发(无状态服务的开发(无状态服务的开发(无状态服务的开发(无状态/有状态)有状态)有状态)有状态)n nHTTPHTTP服务器软件的开发服务器软件的开发服务器软件的开发服务器软件的开发n n支持会话支持会话支持会话支持会话sessionsession、实体、实体、实体、实体entityentity4、扩展动态网页开发功能、扩展动态网页

42、开发功能n n客户端客户端n n浏览器浏览器浏览器浏览器 DOMDOM的访问和操作的访问和操作的访问和操作的访问和操作n n事件响应机制和响应函数事件响应机制和响应函数事件响应机制和响应函数事件响应机制和响应函数n n外部资源的访问外部资源的访问外部资源的访问外部资源的访问n n代替代替代替代替 JavaScriptJavaScript语言语言语言语言n n服务器端服务器端n n用用用用XQueryXQuery开发开发开发开发ServletServlet程序程序程序程序n n支持会话的访问与更新支持会话的访问与更新支持会话的访问与更新支持会话的访问与更新n nServletServlet转发和

43、转发和转发和转发和ServletServlet包含包含包含包含n n代替代替代替代替 JSPJSP语言语言语言语言5、扩展分布式软件开发功能、扩展分布式软件开发功能n n支持分布式计算支持分布式计算n n网络进程之间的消息传递网络进程之间的消息传递网络进程之间的消息传递网络进程之间的消息传递n n工作流系统工作流系统工作流系统工作流系统n nWebWeb服务组合服务组合服务组合服务组合n n支持并行计算支持并行计算n n多线程并行计算多线程并行计算多线程并行计算多线程并行计算n n线程之间的消息传递线程之间的消息传递线程之间的消息传递线程之间的消息传递n n同步控制机制同步控制机制同步控制机制

44、同步控制机制XQuery语言实现技术语言实现技术的研究的研究“计算机科学与技术的发展计算机科学与技术的发展”讲座讲座廖湖声廖湖声计算机学院软件系计算机学院软件系为什么研究为什么研究XQuery语言的实现技术语言的实现技术n nXML数据的广泛应用数据的广泛应用n n巨大的巨大的巨大的巨大的XQueryXQuery使用需求使用需求使用需求使用需求n nXML数据处理的特殊性数据处理的特殊性n n半结构化数据:关系数据库技术不适用半结构化数据:关系数据库技术不适用半结构化数据:关系数据库技术不适用半结构化数据:关系数据库技术不适用n n查询性能问题:执行速度、空间开销、跨网络查询性能问题:执行速度

45、空间开销、跨网络查询性能问题:执行速度、空间开销、跨网络查询性能问题:执行速度、空间开销、跨网络n n处理方法问题:轴操作、树模式查询处理方法问题:轴操作、树模式查询处理方法问题:轴操作、树模式查询处理方法问题:轴操作、树模式查询n nXQuery语言的特殊性语言的特殊性n nXMLXML查询语言、查询语言、查询语言、查询语言、XMLXML数据处理数据处理数据处理数据处理n n函数式语言、图灵完全函数式语言、图灵完全函数式语言、图灵完全函数式语言、图灵完全n n网络应用开发的潜在应用价值网络应用开发的潜在应用价值网络应用开发的潜在应用价值网络应用开发的潜在应用价值一、一、XQuery语言的实

46、现方法语言的实现方法n n解释系统解释系统解释系统解释系统n nXQueryXQuery查询引擎查询引擎查询引擎查询引擎n n支持支持支持支持XQueryXQuery程序的执行(程序的执行(程序的执行(程序的执行(XMLXML数据查询)数据查询)数据查询)数据查询)n n可嵌入到各种开发环境中(如:可嵌入到各种开发环境中(如:可嵌入到各种开发环境中(如:可嵌入到各种开发环境中(如:XQJXQJ)n n编译系统编译系统编译系统编译系统n n将将将将XQueryXQuery程序翻译成低级语言描述的目标程序程序翻译成低级语言描述的目标程序程序翻译成低级语言描述的目标程序程序翻译成低级语言描述的目标程

47、序n n如:如:如:如:XQueryXQuery程序程序程序程序 JavaJava字节码程序字节码程序字节码程序字节码程序n n目标程序完成目标程序完成目标程序完成目标程序完成XMLXML数据查询等计算数据查询等计算数据查询等计算数据查询等计算n n特殊的优化问题特殊的优化问题特殊的优化问题特殊的优化问题n nXMLXML数据查询、轴操作、函数式语言。数据查询、轴操作、函数式语言。数据查询、轴操作、函数式语言。数据查询、轴操作、函数式语言。XQuery语言的各类实现需求语言的各类实现需求n n不同应用场景不同应用场景不同应用场景不同应用场景n nXMLXML数据库数据库数据库数据库n nXML

48、XML数据集成(跨网络)数据集成(跨网络)数据集成(跨网络)数据集成(跨网络)n nXMLXML流数据处理流数据处理流数据处理流数据处理n n移动环境下的移动环境下的移动环境下的移动环境下的XMLXML数据处理数据处理数据处理数据处理n n研究目标研究目标研究目标研究目标n n提高查询速度、减少空间开销、减少传输的开销提高查询速度、减少空间开销、减少传输的开销提高查询速度、减少空间开销、减少传输的开销提高查询速度、减少空间开销、减少传输的开销n n约束条件约束条件约束条件约束条件n n数据密集型(数据量大)数据密集型(数据量大)数据密集型(数据量大)数据密集型(数据量大)n n非结构化数据和特

49、殊的查询模式非结构化数据和特殊的查询模式非结构化数据和特殊的查询模式非结构化数据和特殊的查询模式n n动态生成查询请求动态生成查询请求动态生成查询请求动态生成查询请求n n内存有限内存有限内存有限内存有限基本框架基本框架翻译翻译/类型检查类型检查XQuery程序程序中间代码中间代码中间代码中间代码查询结果查询结果目标程序目标程序程序优化程序优化解释执行解释执行目标代码生成目标代码生成XML文档文档编译后端编译后端编译前端编译前端解释引擎解释引擎中间语言中间语言n n各种中间语言(研究对象)各种中间语言(研究对象)各种中间语言(研究对象)各种中间语言(研究对象)n n基本运算基本运算基本运算基本

50、运算+复合运算结构复合运算结构复合运算结构复合运算结构+查询原语查询原语查询原语查询原语 n n语法简洁、便于实现、便于优化语法简洁、便于实现、便于优化语法简洁、便于实现、便于优化语法简洁、便于实现、便于优化n n如:如:如:如:XQueryXQuery核心语言、核心语言、核心语言、核心语言、FXQLFXQLn nXQueryXQuery程序例程序例程序例程序例for$iteminfor$itemindoc(items.xmldoc(items.xml)return$item/return$item/news_itemnews_item n nXQueryXQuery核心语言程序例核心语言程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

宁ICP备18001539号-1