(计算机应用技术专业论文)基于xquery的xml自动查询系统xqs的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于xquery的xml自动查询系统xqs的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于xquery的xml自动查询系统xqs的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于xquery的xml自动查询系统xqs的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于xquery的xml自动查询系统xqs的设计与实现.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华东师范大学硕学位论文基于x q u e r y 的x m l 自动查啕系统x q s 的设计与实现 摘要 随着i n t e r n e t 的迅猛发展,电子商务、远程教育和网络出版等全新领域异军突起,逐渐 发展成为互联网世界重要的组成部分,大量的应用基于网络展开。作为一种全新的标记语言, x m l 以其扩展性、结构性、平台独立性和臼描述性等诸多特性逐渐成为网络上数据表示和 交换的事实标准,越来越多的应用使用x m l 来存储、交换和发布信息,大量的x m l 数据 出现在网络上。x m l 的查询需求与日俱增,多种x m l 查询语言应运而生,它们旨在抽取、 转换和集成x m l 文档的内容。目前,在众多x m l 查询语言中,w 3 c 提出的x q u e r y 脱颖 而出,已被各方技术联盟及研究机构接受和采纳,极有希望成为x m l 查询语言的最终标准。 因此,大量与x m l 查询相关的应用将以x q u e r y 为基础展开。 随着x m l 应用领域的进步扩大和深入,普通用户对x m l 的查询需求将会越来越突 出。但是对普通的非专业用户而言,直接使用x m l 查询语言编写程序查询x m l 是不现实 的。因此,为普通用户提供界面友好的x m l 查询,具有相当大的应用前景和现实意义。 正是基于以上想法,本文设计并实现了一个基于x q u e r y 的x m l 自动查询系统 x q s ( x m la u t o m a t i cq u e r ys y s t e m ,以下简称x q s ) ,支持普通崩户查询x m l 数据。使i e | ;| 该系统,用户无需掌握x m l 查询语言,也不h j 明确知道待查x m l 文档的具体结构,仅需 在系统提供的用户界面上进行简单的点击或输入操作,就能实现杏询要求的设置并最终得到 查询结果。在x q s 系统的设计与实现中,本文采用j a v a 作为实现语言,以j a v a c c 为开发 工具构建了系统所需的x q u e r y 词法语法分析器,以j d o m 技术为基础解析x m l 文档,结 合相应的查询求值算法,实现对x m l 的查询处理。 在x q s 系统的设计中,本文从普通用户查询x m l 的实际需求出发,力求在用户的易 操作性及系统的查询处理功能间保持一个恰当的平衡,尽量简化系统的操作流程以降低对用 户的要求,增强了系统的通用性和适用面,这些构成了本文的特色和刨新之处。x q s 系统 较好地支持了普通用户对以数据为中心的x m l 的查洵,它的实现将有助丁普通用户直接查 询x m l ,有利于x m l 的进一步推j 。 关键词:x m l ,x m l 查询语言,x q u e r y ,x q s ,j a v a c c ,语法树 堡查塑蔓查堂堡主兰篁望兰 苎王兰坐! 型塑茎坚! ! 垫奎塑墨竺! ! 堕盟堡生! ! ! ! 翌 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e r n e t ,s o m en e wa p p l i c a t i o nd o m a i n sa p p e a rs u c h a s e - b u s i n e s s d i s t a n c ee d u c a t i o n ,w e bp u b l i s h i n g t h e y r eb e c o m i n gm o r ea n dm o r ei m p o r t a n tp a r t s o fw e ba p p l i c a t i o n s a sam a r k u pl a n g u a g e x m li sn o wap r o p o s e ds t a n d a r df o rw e b i n f o r m a t i o np u b l i s h i n g ,d a t as t o r i n ga n di n f o r m a t i o ne x c h a n g i n g m a n ya p p l i c a t i o n a r e a sa r ep r o d u c i n gx m ld o c u m e n t so nt h ew e b a l lt h e s ea p p l i c a t i o n se x h i b i ta s 仃o n gd e m a n df o ra l lx m lq u e r yl a n g u a g e ,a n di n c l u d i n gw 3 c 1 sx q u e r ys e v e r a l x m lq u e r yl a n g u a g e sh a v eb e e np r o p o s e d x q u e r y , w h i c hh a sb e e ne x t r e m e l yw e l l a c c e p t e db yt h ew o r l d w i d ei tc o m m u n i t y , i saf o r t h c o m i n gs t a n d a r df o rq u e r y i n g x m ld a t a s ox q u e r yi sn o wb e i n gu s e de x t e n s i v e l yi nm a n ya p p l i c a t i o nd o m a i n s w i t ht h ew i d eu s eo fx m l ag r o w i n gn u m b e ro fu s e r sw i t h o u tp r o g r a m m i n g s k i l l sw i l ln e e dt oq u e r yx m ld a t a h o w e v e r , t h ex m lq u e r yl a n g u a g e sh a v et h e t y p i c a ls y n t a xo fp r o g r a m m i n gl a n g u a g e s ,w h i c ha r er a t h e ri n t r i c a t ef o ru n s k i l l e d u s e r s ,w h oo n l yk n o wt h eb a s i ck n o w l e d g eo ft h ex m l d a t am o d e l a n di ti sh a r df o r t h o s eu s e r st oq u e r yx m ld o c u m e n t sw i t ha n yx m lq u e r yl a n g u a g e s ,s oi ti sh e l p f u l t od e s i g na n di m p l e m e n tau s e r - f r i e n d l yq u e r ys y s t e mt os u p p o r tt h o s eu s e r st oq u e r y x m ld o c u r n e n t s b a s e dt h ei d e aa b o v e ,t h i sp a p e rd e s i g n e da n di m p l e m e n t e da na u t o m a t i cx m l q u e r ys y s t e mb a s e do nx q u e r y ( x q s ) ,w h i c hc a r ls u p p o r tu n s k i l l e du s e r st oq u e r y x m ld o c u m e n t s w i t ht h eq u e r ys y s t e m ,u s e r sd on e i t h e rh a v et om a s t e rt h es y n t a x o fx m l q u e r yl a n g u a g e s ,n o rk n o wt h es t r u c t u r eo fx m ld o c u m e n t s i no r d e rt og e t r e s u l t so fa n yq u e r i e s ,a 1 1t h e yn e e dt od oi st os e l e c to p t i o n sa n di n p u tp a r a m e t e r s x q sc a ns u p p o gu n s k i l l e du s e r sq u e r y i n gx m ld o c u n _ l e n t sb a s e do nd a t ai n f o r m a t i o n e f f i c i e n t l y ,j a v ai su t i l i z e da sat o o lt oi m p l e m e n tx q s ,i n v o l v i n gj a v a c ca n dj d o m p r i m a r i l y t h ej a v a c ct o o l i su s e dt o d e v e l o px q u e r ya n a l y z e r ,a n dj d o m t e c h n o l o g yi su s e dt op a r s ex m ld o c u m e n t s t h i sp a p e ri sw r i t t e nf r o mt h ep e r s p e c t i v eo f u n s k i l l e du s e r st oq u e r yx m l ,x q s d o e si t sb e s tt o k e e pb a l a n c eb e t w e e nu s a b i l i t ya n df u n c t i o n a l i t y ,a n dt os i m p l i f y o p e r a t i o nt or e d u c ed e m a n d so fb a s i ck n o w l e d g eo hu n s k i l l e du s e r s a sar e s u l t , x q s su n i v e r s a l i t ya n da p p l i c a b i l i t ya r ee n h a n c e d ,t h e s em e n t i o n e da b o v em a d eu p t h ec h a r a c t e r i s t i ca n do r i g i n a l i t yo ft h i sp a p e r x q sw i l ih e l pu n s k i l l e du s e r st oq u e r y x m ld o c u m e n t se a s i l ya n dp r o m o t et h ew i d e s p r e a du s eo f x m l k e yw o r d s :x m l ,x m lq u e r yl a n g u a g e ,x q u e d ,x q s ,j a v a c c ,s y n t a xt r e e 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究 成果。据我所知,除文中己经注明引用的内容外,本论文不包含其他个人已经 发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均己在 文中作了明确说明并表示谢意。 作者签名: 鲞莲日期:丝生。丝:2 1 学位论文使用授权声明 本人完全了解华东师范大学有关保留、使用学位论文的规定,学校有权保 留学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质版。有权 将学位论文用于非赢利目的的少量复制并允许论文进入学校图书馆被查阅。有 权将学位论文的内容编入有关数据库进行检索。有权将学位论文的标题和摘要 汇编出版。保密的学位论文在解密后适用本规定。 学雠文作者签名: 董蕴 导师签名:增毖卜 日期: 瑟丝丝:丝 日期: 醴 2 :竺 o r i g i n a l i t yn o t i c e r “p r e s e n t i n gt h i st h e s i si np a r t i nf u l f i l i m e n to f t h er e q u i r e m e n t sf o rt h em a s t e r sd e g r e ea t e a s tc h i r t an o r m a lu n i v e r s i l y , 1w a r r a n tt h a tt h i st h e s i si s o r i g i n a la n da n yo ft h et e c h n i q u e s p r e s e n t e di nh et h e s i sh a v eb e e nf i g u r e do u tb ym ea n y0 ft h er e f e r e n c e st ot 1 1 ec o p y r i g h t 、 t r a d e m a r k ,p a t e n t ,s t a t u t o r yr i g h t ,o rp r o p r i e t yr i g h to fo t h e r sh a v eb e e ne x p l i c i t l ya c k n o w l e d g e d a n di n c l u d e di nt h er e f e r e n c e ss e c t i o na tt h ee n do f t h i st h e s i s s i g n a t u r e : 茜萍 d a t e ;加止t 2 2 0 c o p y r i g h t n o t i c e 1h e r e i l la g r e e t h a t t h e l i b r a r yo f e c n us h a l l m a k e i t sc o p i e s f r e e l ya v a i l a b l e f j r i n s 。c c t i o n if u r t h e ra g r e et h a te x t e n s i v ec o p y i n go ft h et h e s i si s a l l o w a b l eo n l yf o rs c h o l a r l yp u r p o h c s i n p a r t i c u l a r , s t o r i n gl h ec o n t c mo ft h i st h e s l si n t or e l e v a n td a t a b a s e s ,a sw e l la sc o n l p i l l n 2a n d p u b l i s h i n gz h et i t l ea n da b s t r a c to ft h i st h e s i s ,c o n s i s t e n tw i t h ”f a i ru s a sp r e s c r i b 酣i nt h e c o p y r i g b _ l a wo f t h ep e o p l e “r e p u b l i co f c h i n a s i g n a t u r e :昔萍m t e :洳化t 2 扣 华东师范大学硕j 学位论文基于x q u e r y 的x m l 自动查询系统x q s 的堡盐生壅垫 1 1x m l 简介 1 1 1x m l 的产生 第一章引言 x m l i 拘全称是“可扩展标记语言”( e x t e n s i a b l em a r k u pl a n g u a g e ) ,它是继h t m l 后新兴 的互连网信息交换标准【j 。与h t m l 一样,x m l 也是源于标准通用标记语言s g m l 。s g m l 是一种用标记来描述文档内容的通用语言,它包含了一系列的d t d ( d o e u m e n tt y p e d e f i n i t i o n ,文档类型定义) 规范,d t d 中定义了标记的含义,因而s g m l 的语法是可以扩展 的。但s g m l 十分复杂、庞大,在计算机上实现比较困难,鉴于此,w e b 的发明者根据当时 计算机技术的能力,提出了h t m l 语言。h t m l 4 , 吾言只使崩了s g m l 中很小的一部分标记, 为了便于在计算机上实现,h t m l 规定的标记是固定的,故h t m l 语法是不可扩展的,它不 需要包含d t d 。h t m l 以其简单精练的语法、极易掌握的通用性与易学性,使w e b n 页可以 接近于每个普通人,互联网得以迅猛发展。然而,电子商务、远程教育、网络出版等全新领 域异军突起,逐渐发展成为互联网世界重要的组成部分,随之而来的是w e b 文件的复杂化、 多样化、智能化,于是高信息量、高效率便成为网络信息传输技术发展的追求。与此同时, 还有另一种需求变得愈发j “泛而迫切,即数据能否根据不同用户不同需求而以不同的效果、 不同的形式表现山来。这一切都是h t m l 所不能满足的,开发种新的w e b 页面语言已势在 必行。互联网国际标准组织w 3 c 建议使用一种精简的s g m l 版本一x m l 应运而生了。 严格来讲,x m l 本身并不是独立的、预定义的标记语言,而是一种用米描述其它语言 的元语言。x m l 保留t s g m l 的绝x 部分实用功能,同时又大人简化了s g m l 中过于复杂和 使用不便的部分,将s g m l 的丰富功能与h t m l 的易_ = j 性结台,使x m l 既功能强大又易于使 用。x m l 继承了s g m l 的可扩展性,这使x m l 从根本上有月l j t h t m l 。x m l 要比h t m l 强 大得多,h t m l 只是w e b 显示数据的通用方法,而x m l 提供了一个直接处理w e b 数据的通用 方法。h t m l 着重描述w e b 页面的显示格式,i 而x m l 着重描述w e b 页面的内容。x m l 作为一 种标记语言,它为描述数据对象提供了新的途径。在x m l1 o 规范中建议称这些被描述的数 据对象为“x m l 文档”。因而,通常所谓的“x m l ”是指它所描述的一个数据对象, 菲j x m l 文档。本文所讨论的“x m l ”就是针对“x m l 文档”。 1 坐奎堕苎查兰堡! 兰垡笙兰 茎王兰里! ! 翌盟兰坚! 旦塑堂墨竺兰壁塑型生壁! ! 翌 1 1 2x m l 的技术规范 x m l 并不仅仅包括x m l 标记语言,它同时还包括了很多规范,这些规范与一系列x m l 技术相对应,比如文档模式技术、文档样式技术、文档查询技术、文档解析技术和文档链接 技术等,如图1 1 所示,这些技术使x m l 的功能更加完善。 图1 1x m l 相关技术规范 f i g u r e1 1t h ep r i m a r ys p e c i f i c a t i o no fx m l 其中与x m l 查询相关的技术为: 文档模式技术: d t d 和x m ls c h e m a 是x m l 文档的模式,用来对x m l 文档的逻辑结构进行定义,规定 x m l 文档中的元素、属性、元素和元素以及元素和属性之间的关系。其中,d t d 来i ;1 s g m l l 2 1 , x m ls c h e m a 是专门为定义x m l 文档的格式而设计的,采用的是x m l 的语法i ”。 文档样式技术: x m l 是内容( 数据) 和显示格式分离的语言,c s s ( c a s c a d i n gs t y l es h e e t s ) 和 x s l ( e x t e n s i b l es t y l e s h e e tl a n g u a g e ) 就是定义x m l 文档的显示样式的。其中,c s s 是随着 h t m l 的出现而产生的,控制x m l 文档的显示,但不会改变源文档的结构。而x s l 是专门为 x m l 设计的,不仅用来显示x m l 文档,而且可以把个x m l 文档转化为另个x m l 文档。 同时具有一定的查询x m l 文档的功能n 文档解析技术: 文档解析是指对x m l 文档的内容和结构进行访问和分析。文档解析技术包括文档对象 模型d o m ( d 。c u m e n t o b j e 吐m o d e l ) 私s a x ( s l m p l e a p i f o r x m l ) 。d o m 是- - 种对平台和语言 中立的接口,它是基于x m l 文档在内存中的树状结构吼而s a x 使用事件驱动的x m l 解析, 并不要求将整个x m l 文档一起装入内存”i 。 x p a t b : 2 华东师范大学硕士学位论文基于x q u e r y 的x m l 自动查询系统x q s 的设计与实现 x m lp a t hl a n g u a g e ( x p a t h ) 1 0 1 7 1 一种用于x s l t 、x p o i n t e r 及x q u e r y 中对x m l 文档各 部分进行定位的语言。它给x s l t 、x p o i n t e r 及x q u e r y 提供一种定位语法,用来定位x m l 文档的各个部分。 x q u e r y : x q u e r y 8 1 是w 3 c 推荐的x m l 查询语言,文本将在第二章详细介绍x q u e r y 。 1 1 3x m l 的特点及应用领域 作为一种全新的标记语言,x m l 主要特点司总结如r : 可扩展性 x m l 提供了一个表示信息的框架,它允许信息提供者根据自己的需求和意愿定义任意 的标记;数据经过x m l 的处理之后,表达方式简单、易读,同时也易于由其他应用进行进 一步的加工和处理。 结构性 x m l 数据存储格式不受显示格式的制约。一般包括三个要素:数据、结构及显示方式。 x m l 使用d t d 规定一套关于标记符号的语法、语义规则,比较准确地描述文档的内容、含 义、结构、特征和关系等信息,而把文档的外观表现形式交给样式表( 如c s s 、x s l 等) 处理, 这样就把信息的内容及其表现形式合理地隔开,从而大大提高x m l 信息的可理解性、可交 换性和重用性。 平台独立性 x m l 使用普通文本,而不是二进制的数据格式,具有跨平台的优点。运用x m l 可以有 效地解决不同应用系统平台之间或者不同数据源之间的数据共享与交互问题。 白描述性 x m l 以显式语句和隐式嵌套结构描述结构化信息,任何应用都可以方便访问其中的数 据,并清楚地了解到标记内容的含义。白描述性使其非常适用丁不同应用间的数据交换,而 且这种交换是不以预先规定一组数据结构定义为前提。因此,具备很强的开放性。 国际化 x m l 采用u n i c o d e 字符编码系统,支持世界上几乎所有的主要语言。不同语言可以在同 一文档中混合使用,因此x m l 不仅能在不同的计算机系统之间交换信息,而且能跨国界和超 越不同文化交换信息。 华东师范大学颂士学位论文 基于x q u e r y 的x m l 自动查询系统x q s 的设计与实现 这些特点使x m l 成为数据表示的一个开放标准,体现出其他标记语言无法比拟的优势, 能满足众多的应用需求,并成功地应用到许多领域【9 1 ,如表1 一l 所示,事实上,随着x m l 的不断成长,它仍在向更多的领域推广。 表1 1x 帆的主要应用领域 应用领域作用 以e d i 为基础的电子商务电子商务的内容定义和信息交换 无线通信无线置标语言w m l 专业集成系统将数据和处理分开,并可白定义符合各应用要求的标记 网络出版定义多个面向显示的语言,如x h t m l 、v m l 、s m i l 等 科研教育数学标记语言m a t h m l ,化学标记语言c m l 其它 开放式金融交换o f x ,开放式软件描述格式o s d ,分布 作家和翻译草案w 如d a v 1 1 4x m l 文档的语法结构 x m l 文档就是符合x m l 规范的文本文档,它具有良好的结构,可表达一定的语义信 息。就这个意义而言,x m l 实际上是一种标准化了的可以在w e b 上表示结构化信息的文档 格式。x m l 文档由标记和文本数据组成,其中文本数据就是原始的文本。与h t m l 不同 x m l 具有严格的语法定义,只有当一个x m l 文档符台“格式良好”的基本要求时,处理 程序才能对它加以解析和处理。实际上,叫各式良好”的耍求就是x m l 规范的语法要求。 一个结构良好| 勺x m l 文档必须符合以下三个条什: 1 作为一个整体,它满足x m l 文档的产生式。 2 它满足x m l 规范中定义的所有格式良好的约束。 3 此文档中所有商接或间接引用的已析实体都是格式良好的。 x m l 文档的结构包括逻辑结构和物理结构。从语法成分上讲,x m l 文档可由x m l 声 明、元素、属性、字符数据、处理指令、注释及实体引用构成。其中最基本的语法单位是元 素,每个x m l 文档可包含一个或多个元素。元素之间是一种相互嵌套的“树”形结构:包 含所有其他元素的元素称为“根元素”,包含在根元素之内的元素称为根元素的“子元素”。 如果该子元素还包含子元素,则称其为“树枝”,不包含其他子元素的元素称为“树叶”。其 中,元素、子元素以及属性是一些标记,而树叫则是原始的文本,且各元素可能包含不同的 属性。这样的逻辑关系构成了x m l 文档的逻辑结构。从物理结构上讲,x m l 文档是由一 个或多个存储单元构成的,这些存储单元就是所谓的实体。实体用于在x m l 文档中表达并 华东师范大学硕士学位论文基于x q u e r y 的x m l 自动查塑墨堑兰里! 鳖堡盐皇壅些 存储与之相关数据的对象。x m l 文档就是通过引用定义的实体,或者在实体中引用其它实 体来组成。 每个x m l 文档都有一个根元素,称为“根实体”,或者称为“文档实体”。“根实体” 是由x m l 本身规定的,不需要显式的定义就可以使h j ,它对应整个x m l 文档的内容。“根 实体”是x m l 解析程序处理的起点。除此之外,可能还需要用到其它一些实体,这些实体 用名称米标识,在文档的d t d 或s c h e m a 中定义。 1 1 5x m l 文档的数据模型 x m l i 0 规范只定义了x m l 文档的逻辑和物理结构,这是一个非常简单同时也很抽象 的结构,基于这个结构,可以构造更复杂的数据模型。w 3 c 有三个规范分别描述了x m l 文档的抽象结构,形成了目前关于x m l 文档的三种模型描述:i n f o s e t 模型、d o m 模型和 x q u e r y 数据模型。在这三种模型中,x m l 文档都被描述为一个树犁结构,但所表示的信息 却有所不同。其中,i n f o s e t 模型是一个基础模弛,它定义了一个抽象的数据集合,用于对任 何一个格式良好且满足命名空间( n a m e s p a c e ) 约束的x m l 文档进行描述。其它任何基于 x m l 的标准都建立在x m li n f o s e t 的基础之上。d o m 模型通过引入元素、属性、文本等 对象,规定了用于访问和修改x m l 文档的操作,是一个平台中立的a p i i ”。而x q u e r y 数 据模型则是建立在i n f o s e t 模型基础之上,从查询语言角度定义了对x m l 文档各类节点的存 取、构造以及检索操作【l ”。 1 1 6x m l 的现状 从1 9 9 8 年2 月w 3 c 推出首个x m l 建议草案至今,x m l 一直受到各方技术联盟和研 究机构的关注和支持,在短短的数年间,已得到e 速发展。就x i v l l 的各种标准而言,目前 已发展得非常庞大,其中既包括通用的规范,例如:定义x m l 模式的d t d s c h e m a 、处理 x m l 文档的表达式语言x p a t h 等;又包括用于专用领域的规范,例如:由u n c e f a c t 、 o a s i s 发起的商务数据格式规范e b x m l 、w 3 c 推出的数学领域的m a t h m l 规范等。由于 x m l 语言结构十分弹性且扩展性高,x m l 已成为在网络上处理电子商务、数据仓储、信息 交换、上下文检索、多媒体传输、无线通信及其他专业领域应用解决方案中的主干。与此同 时,许多开发商审时度势,先后推出了许多x m lt 具,包括:x m l 的辅助二【:具,用丁i 二浏 览、解析处理x m l 等。x m l 的文件编辑上具,用于x m l 的文件制作和内容管理。基于 5 华东师范大学硕十学位论文 基于x q u e r y 的x m l 自动查询系续苎旦苎堕堡丛里壅翌 x m l 的信息存储搜索工具、电子商务应用工具、应h j 软件的整合发展工具等。 就目前的发展来看,x m l 作为一种非常有价值的技术,仍在不断成殴。如果说h t m l 曾经为i n t e m e t 开拓出一片新的天地,那么,x m l 将大大拓展相关的应用领域,使这片天 地变得更加令人心驰神往。 1 2x m l 查询语言概况 1 2 1x m l 查询语言的研究历史 随着互联网的飞速发展,x m l 以其强大的数据表达能力及其简单、跨平台等优点逐渐 成为信息存储、交换和表示的事实标准,x m l 查洵与日惧增。由丁x m l 本身是白描述的数 据,并且与平台无关,所以查询x m l 数据的途径也应当是与平台无关的。因此需要一种类 b j s q l 语言的简单、易于编写的x m l 数据查询语言。在这种背景下,多种x m l 查洵原型语 言应运而生,它们旨在抽取、转换和集成x m l 文档的内容。按其研究领域这些原型语言可 分为两类:( 1 ) 数据库领域:女l l l o r e l 、x m l - o l 、y a t l 、q u i l t 等;( 2 ) 文档领域: z x s l 、x q l 等。不同的研究领域,研究人员所关心的主要问题各有不同。因此,这些查询语言在语法形 式和查询能力上不尽相同。一般来说,由文档研究者提出的查询语言能力较弱,而由数据研 究者提出的查询语言功能相对强人,一般都支持复杂的路径表达式、连接、嵌套查询等数据 库查询语言的典型特性。 在众多x m l 原型查询语言中,比较著名的是l o r e l 、x m l o l 、x q l 、q u i l t : l o r e l 是从半结构化数据库l o r e 系统的杏询语言扩展而来的x m l 数据查询语言【1 2 】。l o r e l 在语法上采用了类似_ 关系数据库s q l 语言的形式,用s e l e c t f r o m w h e r e 的格式 对存储在l o r e 系统中的x m l 数据进行查询。由于半结构化数据模型本身不同p x m l , 所以l o r e l 在对于查询面向文档的x m l 方面,功能较弱。 x m l - g l 是意大和j p o l i t e c n i c od im i l a n o 大学设计的一种图形化查询语言,它利用标记 图表达x m l 数据* f i d t d 。 x m l - q l 是a t & t 实验室的数据库研究人员设计的x m l 数据查询语言。x m l o l 通过 加入明确的构造语句c o n s t r u c t 扩 s q l ,使用元素模式匹配进行查询处理。 x m l o l 能表达对多数据源的x m l 查询和转换。 x q l 是微软公司设计的= j 来选择和过滤x m l 文档的元素和文本的查询语言”1 。x o l 是 - 6 华东师范大学硕士学位论文 基于x q u e r y 的x m l 自动查塑墨堕兰里兰塑堂生兰塞塑 x s l 的自然扩展,它的设计目标是简单、紧凑,所以降低了部分表达能力。 q u i l t 综合了很多语言的优点,它的路径表达式参考x p a t h ,变量绑定借鉴t x m l q l , f l w o r 糊类 肝s q l ,而且它还支持用户白定义函数。q u i l t 不仅可以查询x m l 数据,也可以方便地查询关系数据,因此它的表达能力是很强的。 由于这些原型语言由不同的研究领域设计提出,有一定的针对性,往往对某种类型的 x m l 文档奄询十分有效,但对其它类型的x m l 文档查询能力弱。在这种情况下,为了推动 x m l 语言的规范发展,w 3 c 于1 9 9 8 年成奇_ t q u e r yl a n g u a g ew o r k i n gg r o u p ( 查询语言上作 组) ,着手进行x m l 查询语言的规范化工作,并t 2 0 0 1 年2 月公布了一种有别于其他任何查 询语言的全新的x m l 查询语言- - x q u e r y 的i 作草案。x q u e r y 是在汲取其他多种查询语言精 华的基础上形成的,它体现了多种查询语言的优点。适用于各种类型的x m l 数据源的查询, 它的功能是极为强大的口1 。w 3 c 为x q u e r y 制定了一系列标准,包括数据模犁、形式语义、查 询代数等,使得x q u e r y i 吾言更加规范和精确。因此,x q u e r y i 吾言极有希望成为x m l 查询语 言的最终标准。 1 。2 2x m l 查询语言的处理对象 随着x m l 应用领域的不断扩展,越来越多的信息采用x m l 这种通用的数据格式表示, 大量的x m l 数据出现在w e b _ k 。由于这些x m l 数据来自不同的应用领域,通常带有与其麻 用领域相关的特征,提供的可用于查询的信息不尽相同。这些不同来源的x m l 文档是x m l 查询语言的主要处理对象。具体来讲,包括三大类: 以数据为中心的x m l x m l 的个重要应用领域是面向数据处理。以数据为中心的x m l 文档多由数据库数据 转换而来,一般用米进行信息的传输和交换。在这类x m l 文档中,文档的物理结构并不重 要,例如:通常人们不介意一张订单中的几个项e l 的先后次序( 这相应于x m l 文档中兄弟节 点的相对次序) ,也不介意是使用文本节点还是属性来存储数据等等。以数据为中,5 的x m l 与传统的关系数据库数据有很多相似之处,它的特征是: 1 ) 具有规则的结构。 2 ) 少量的数据c 一个整数一个字符串) 通常都存放在x m l 3 档的叶节点( 文本节点或属 性节点1 上。 3 ) 通常很少甚至没有混合的内容模式( 即:一个元素既有文本值又有子元素) 。 堂查堑垂奎兰堕圭鲎垡堡茎 苎! 兰旦! ! 型堕兰坚! 鱼垫奎塑至笙兰旦旦盟堡茎兰! ! 翌 以文档为中心的x m l x m l 的另一个应用领域是结构化文档处理( 例如:医疗记录) 。对于以文档为中心的 x m l ,包含的一般是面向人阅读的信息。以文档为中心的x m l 具有大量、f 结构化数据的特 征,因而在查询以文档为中心的x m l 时,需要重点考虑的问题是: 1 ) 不规则的结构, 2 12 ) 混合的内容模式。 混合模式的x m l 文档 、混合模式的文档,是指同时具有面向数据和面向文档两种类型特征的x m l 文档。在混 台模式的的文档中规则和不规则的结构都可能出现。 1 2 3x i 】l 数据查询方式 本文通过分析各种x m l 查询语言的基本操作,总结出最基本的x m l 数据查询方式是 模式匹配、选择过滤和结果构造: 模式匹配在待查询的x m l 文档中找出具有给定结构的x m l 数据片段。由于x m l 文档可 能具有复杂的深屡嵌套,因此模式匹配支持匹配复杂结构的能力非常关键。 选择过滤根据条件过滤出满足查询要求的x m l 数据。它不仅是x m l 裔询的重要形式, 而且是对x m l 数据进行连接查询的前提。 结果构造从查询结果出发构造新的x m l 文档结构。由于x m l 可能用于在不同的系统之 间共享数据,而不同的系统的数据格式不尽相同,因此灵活的结果构造功能是x m l 查询处 理的一个重要方面。 1 3 存在的问题及国内外研究现状 随着x m l 应用领域的扩大和深入,越来越多的应用使用x m l 发布信息,w e b 上出现 了大量的x m l 数据,普通用户对x m l 的查询需求越来越突出。但对普通用户而言,直接 使用x m l 查询语言查询x m l 文档有许多不足之处: 首先由于x m l 文档本身是一种嵌套的层次结构,大部分的x m l 查询语言都是利用 路径表达式来导航x m l 的查询。不可避免地,这些查询语言的使用与x m l 文档结构紧密 相联。故编写x m l 查询程序必须清楚待查文档的结构,这就要求普通用户能读懂文档的 d t d 或s c h e m a 。但人多数普通用户查询x m l 文档的目的主要是抽取文档中自己感兴趣的 8 兰查堕蔓查兰堡主兰垡堡苎 苎王兰里! ! 型塑! 型! 旦塑壅塑墨堑兰壁坚蟹墅兰! i ! 翌 信息,他们不太可能花太大的精力去学习d t d 或s c h e m a 的语法结构。 其次,普通用户要使用x m l 查询语言编写程序查询x m l ,首先要掌握该查询语言的 语法。但这些x m l 查询语言的语法对非专业的普通用户而言还是比较复杂的,即使作为函 数语言的x q u e p j ,它的语法已比其它的x m l 杏询语言简洁了许多,但普通的非专业用户 要掌握它仍需花费较长的时间。 这些不足,使普通用户直接使用x m l 查询语言编写程序查询x m l 是不现实的。而普 通用户对x m l 的查询需求却越来越突出。因此,为普通用户提供界面友好的x m l 查询, 具有相当大的应用前景和现实意义。目前,国内外的一些研究机构正在对此进行了一些探索 性的研究: 意大利p o l i t e c n i c od im i l a n o 大学的d a n i e l eb r a g a ,a l e s s a n d r oc a m p i 等人设计开发了一 种图形化的x q u e r y 处理接口x q b z t 【18 1 1 1 ”,支持普通用户对x m l 的查询需求。x q b e 如 同m s a c e s s 中应用的q b e 一样,采用图形化查询处理的思路。它受x m l 图形化查询语言 x m l g l i l 3 1 的启发,将一个查询表示成s o u r c c 和c o n s t r u c t 两部分:s o o f c e 定义查询的模 式匹配及选择过滤的条件,c o n s t r u c t 定义查询的结果及构造形式。并使用图形符号代表x m l 文档的结构片断,用曲线表示结构片断间的内部关系。x q b e 定义了火量代表特定涵义的图 形符号,例如,它用带标记的矩形框表示x m l 文档的元素用黑色的圆圈表示元素的属性。 用户通过组合图形表达自己的查询要求。例如,用户可以描绘如图1 2 所示的图形组合 定义查询:“抽取b i b x r n l 文档( 见附录- - ) 中记录的所有由a d d i s o n - w e s i e y 出版社在1 9 9 1 年之后出版的图书的书名,及出版年限”。x q b e 处理该组合图形得到相应的x q u e r y 奄询 q l ,该查询可被提交给任何已有的x q u c r y 查询引擎处理。 岗b i b 7 商 掣 i1 二 玉 i 翌! 卜气 疆 医洄 州。五钾。 舌 “a 酾s 鲫- w 档l 钾” 国i 一2 基于x q b e 的一个查询示例 f i g u r e1 2a nx q b e - b a s e dq u e r y 9 兰查塑苎查兰堡主堂焦堕塞 苎主兰旦! ! 型竺兰坚! ! 垫奎塑至竺兰壁塑堡鲨:i i ! 翌 q i : 1 9 9 1 r e t u m $ b t i t l e 使片jx q b e ,用户无需书写x q u e | y 查询程序,仅需组合相应的图形,定义查询要求就 能得到所需的x q u e r y 查询程序。它在一定程度上简化了用户的查询操作,为普通用户提供 了界面友好的x m l 查询环境。但由于使用x q b e ,用户必须基于系统自定义的图形符号集 设置查询耍求,对丁一些较复杂的奇询,涉及到图形符号会比较多( x q b e 定义的完整的图 形符号如附录一图a 所示) 。对普通用户而言,掌握这些系统定义的众多图形符号的涵义, 仍有一定困难,且x q b e 生成的仅是x q u e r y 查询程序,用户还需调用x q u e r y 查询引擎处 理该程序才能得到所需的查询结果。 x q b e 为“普通用户界面友好的x m l 查询研究”开拓了图形化查询处理的思路。在它 的基础上,一些研究机构提出了些其它的图形化查询处理方案,例如:加拿

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论