畢業(yè)論文 XML數(shù)據(jù)查詢方法研究.doc_第1頁(yè)
畢業(yè)論文 XML數(shù)據(jù)查詢方法研究.doc_第2頁(yè)
畢業(yè)論文 XML數(shù)據(jù)查詢方法研究.doc_第3頁(yè)
畢業(yè)論文 XML數(shù)據(jù)查詢方法研究.doc_第4頁(yè)
畢業(yè)論文 XML數(shù)據(jù)查詢方法研究.doc_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

內(nèi)容摘要XML自W3C組織提出之后,逐漸成為因特網(wǎng)中數(shù)據(jù)表示和數(shù)據(jù)交換的新標(biāo)準(zhǔn),越來越多的組織使用XML描述信息。隨著XML信息交流的增多,如何快速的從大量的XML數(shù)據(jù)中進(jìn)行高效的數(shù)據(jù)查詢已經(jīng)成為眾多研究者所關(guān)注的問題。本文從存儲(chǔ)角度出發(fā),研究了不同的存儲(chǔ)方式所對(duì)應(yīng)的不同查詢方式。各種查詢方式有不同的使用環(huán)境,本文將對(duì)各種方式進(jìn)行詳細(xì)介紹。關(guān)鍵詞:XML數(shù)據(jù)查詢 XML數(shù)據(jù)查詢方法研究1 XML簡(jiǎn)介1.1 研究背景及意義在當(dāng)今的IT業(yè)中,XML(Extensible Markup Language,可擴(kuò)展標(biāo)識(shí)語(yǔ)言)越來越成為一個(gè)熱門的話題。XML是由W3C(萬(wàn)維網(wǎng)聯(lián)合組織)制定的標(biāo)準(zhǔn),具有良好的數(shù)據(jù)存儲(chǔ)格式、可擴(kuò)展性、高度結(jié)構(gòu)化和便于網(wǎng)絡(luò)傳輸?shù)葍?yōu)點(diǎn),從而成為了新一代的Web語(yǔ)言。XML提供了直接處理數(shù)據(jù)的通用方法,為基于Web的應(yīng)用提供一個(gè)描述數(shù)據(jù)和交換數(shù)據(jù)的有效手段,有利于信息的表達(dá)和結(jié)構(gòu)化組織。因此,可以更好地滿足網(wǎng)絡(luò)時(shí)代在電子商務(wù)遠(yuǎn)程教育、數(shù)據(jù)庫(kù)與引擎等領(lǐng)域的多態(tài)信息的交互、傳輸和再現(xiàn)的需求。越來越多的數(shù)據(jù)使用XML的標(biāo)準(zhǔn)進(jìn)行表示和存儲(chǔ),如何對(duì)XML文檔進(jìn)行有效的查詢是一個(gè)熱點(diǎn)研究問題。1.2 XML的產(chǎn)生 目前,WEB上的通用標(biāo)識(shí)語(yǔ)言是超文本標(biāo)識(shí)語(yǔ)言HTML(HyPertext Markup language),正是由于HTML的出現(xiàn),才使得Internet迅速發(fā)展到今天這樣龐大的規(guī)模。HTML來自SGML (standard Generalizes Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言),SGML是一種用標(biāo)記來描述文檔資料的通用語(yǔ)言,它包含了一系列的DTD(Document Type Definition,文檔類型定義)規(guī)范,DTD中定義了標(biāo)記的含義,因而SGML的語(yǔ)法是可以擴(kuò)展的。但是SGML十分復(fù)雜、龐大、不易學(xué),在計(jì)算機(jī)上實(shí)現(xiàn)也比較困難。鑒于這些原因,WEB的發(fā)明者根據(jù)當(dāng)時(shí)計(jì)算機(jī)技術(shù)的能力,提出了HTML語(yǔ)言。HTML語(yǔ)言只使用了SCML中的很小一部分標(biāo)記,為了便于計(jì)算機(jī)上實(shí)現(xiàn),HTML規(guī)定的標(biāo)記是固定的,即HTML語(yǔ)法是不可擴(kuò)展的,它不需要包含DTD。HTML以其簡(jiǎn)單精練的語(yǔ)法、極易掌握的通用性與易學(xué)性,使Web網(wǎng)頁(yè)可以接近于每個(gè)普通人,互聯(lián)網(wǎng)也得以迅猛發(fā)展。 然而,電子商務(wù)、電子圖書、遠(yuǎn)程教育等全新領(lǐng)域的異軍突起,逐漸發(fā)展成為互聯(lián)網(wǎng)世界重要的組成部分,隨之而來的是Web文件的復(fù)雜化、多樣化、智能化,于是高容量、高信息量、高效率便為網(wǎng)絡(luò)信息傳輸技術(shù)發(fā)展的追求。與此同時(shí),還有另一種需求變得愈發(fā)廣泛而迫切,即數(shù)據(jù)能否根據(jù)不同用戶不同需求而有不同的效果、不同的形式表現(xiàn)出來。這一切都是HTML所不能滿足的,開發(fā)一種新的Web頁(yè)面語(yǔ)言已勢(shì)在必行。由于HTML只使用一組固定的元素類型,不可擴(kuò)展,所以不能針對(duì)特定文檔類型而設(shè)計(jì),而且創(chuàng)建之后經(jīng)歷多年一直沒有非常嚴(yán)格的定義。因此隨著Web的互操作性和多樣性受到專用格式化標(biāo)記的日益威脅時(shí),Web標(biāo)準(zhǔn)化組織W3C (Worldwide Web Consortium,萬(wàn)維網(wǎng)聯(lián)盟)建議使用一種精簡(jiǎn)的SGML版本XML應(yīng)運(yùn)而生。1.2.1 半結(jié)構(gòu)化數(shù)據(jù)概念 特點(diǎn)及數(shù)據(jù)描述XML數(shù)據(jù)的特點(diǎn)之一就是半結(jié)構(gòu)化,半結(jié)構(gòu)化數(shù)據(jù)是介于完全結(jié)構(gòu)化數(shù)據(jù)和完全無結(jié)構(gòu)的數(shù)據(jù)之間的之中數(shù)據(jù)形式,具有自描述性。一些數(shù)據(jù)源(如Web)的數(shù)據(jù)并非像傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù)那樣有嚴(yán)格的數(shù)據(jù)格式和數(shù)據(jù)類型,即為半結(jié)構(gòu)化數(shù)據(jù)。半結(jié)構(gòu)化數(shù)據(jù)的特點(diǎn)是沒有事先給定的數(shù)據(jù)模式,或者數(shù)據(jù)模式對(duì)數(shù)據(jù)的約束不強(qiáng),模式的規(guī)模比較大,模式是經(jīng)常變動(dòng)的,數(shù)據(jù)未賦予嚴(yán)格的類型。它具有以下特點(diǎn):(1)先有數(shù)據(jù),后有模式。一般是先進(jìn)行查詢,查詢結(jié)果即為數(shù)據(jù)結(jié)構(gòu)及其模式。(2)用于描述數(shù)據(jù)的結(jié)構(gòu)信息,而不是對(duì)數(shù)據(jù)結(jié)構(gòu)進(jìn)行強(qiáng)制性約束。(3)規(guī)模可能很大,甚至超過源數(shù)據(jù)的規(guī)模,而且因數(shù)據(jù)的不斷更新而處于動(dòng)態(tài)的變化過程中。(4)不講求精確性,可能描述其中一部分結(jié)構(gòu),也可能根據(jù)數(shù)據(jù)處理的不同階段的視角而不同。(5)非常靈活,能滿足網(wǎng)絡(luò)這種復(fù)雜分布式環(huán)境的要求。(6)加大了數(shù)據(jù)處理的難度。1.2.2 HTML與XMLHTML: 即超文本標(biāo)識(shí)語(yǔ)言,是編制Web頁(yè)面文檔的語(yǔ)言,它定義結(jié)構(gòu)化文本類型和標(biāo)識(shí)這些文本類型。HTML 所含的標(biāo)識(shí)符定義包括:文檔結(jié)構(gòu),字形字體,版面布局,鏈接,等超文本文檔結(jié)構(gòu),這些標(biāo)識(shí)符使Web瀏覽器能夠閱讀和重新格式化任何Web頁(yè)面。HTML 的最新版本是HTML4.0,它支持OBJECT標(biāo)記和層疊風(fēng)格表單(CSS)。通過支持ISO10646字符集,它支持任何語(yǔ)言所需的標(biāo)識(shí),為作者插入對(duì)象和腳本提供了途徑,并在文件中支持格式項(xiàng)。但HTML僅關(guān)注Web瀏覽器的頁(yè)面安排,缺乏對(duì)結(jié)構(gòu)化數(shù)據(jù)的表示能力,它采用單一固定語(yǔ)法,缺乏可擴(kuò)展性,因此難以用于如數(shù)據(jù)處理,刷新排列,存儲(chǔ),轉(zhuǎn)發(fā),交換,加密及簽名等操作,因此難以滿足電子商務(wù)對(duì)大量動(dòng)態(tài)數(shù)據(jù)使用統(tǒng)一數(shù)據(jù)格式進(jìn)行表示和管理的需要。XML(Extensible Markup Language-可擴(kuò)充的標(biāo)識(shí)語(yǔ)言)為網(wǎng)頁(yè)編輯的可移植性,平臺(tái)獨(dú)立性,系統(tǒng)兼容性,資源整合與管理等提供了完整的解決方案,逐漸成為電子商務(wù)的新的基石。XML也是從SGML發(fā)展而來,它是設(shè)計(jì)的元語(yǔ)言,而不是像HTML那樣具有的固定標(biāo)記集的標(biāo)記語(yǔ)言。XML可以建立用戶自己的標(biāo)記和類別文件。簡(jiǎn)單而言,XML 和HTML的本質(zhì)區(qū)別是: HTML標(biāo)記是用來描述怎樣在屏幕上顯示信息,解決人機(jī)交互問題,而XML是用來描述信息是什么,解決機(jī)器之間的交互問題。1.3 XML技術(shù) XML是標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言SGML的一個(gè)子集,從SGML中經(jīng)過精心修剪而來的XML既保持了SGML的功能,同時(shí)又減少了SGML的復(fù)雜性。和HTML相比,XML是面向內(nèi)容的,具有更多的語(yǔ)義、良好的可擴(kuò)展性、簡(jiǎn)單易用、自描述等特點(diǎn),適用于WEB上的數(shù)據(jù)交換。 XML包含三要素:DTD(Document Type Definition文檔類型定義)或XML模式(Schema)、可擴(kuò)展樣式語(yǔ)言XSL(Extensible Style Language)以及可擴(kuò)展鏈接語(yǔ)言XLL (Extensible Link Language)。其中,XSL用于規(guī)定XML文檔呈現(xiàn)樣式的語(yǔ)言,它使數(shù)據(jù)與其表現(xiàn)形式相互獨(dú)立;而XLL用于擴(kuò)展目前WEB上已有的簡(jiǎn)單鏈接。文檔類型定義(DTD)是一套關(guān)于標(biāo)記符的語(yǔ)法規(guī)則,規(guī)定可以在文檔中使用哪些標(biāo)記符,應(yīng)該按什么次序出現(xiàn),哪些標(biāo)記符可以出現(xiàn)于其它標(biāo)記符中,哪些標(biāo)記符有屬性等。因?yàn)閄ML本身不是一種語(yǔ)言,而是定義語(yǔ)言的一個(gè)系統(tǒng),想使用XML進(jìn)行數(shù)據(jù)交換的組織可以定義它們自己的DTD。1.4 XML特點(diǎn)XML的優(yōu)勢(shì)之一是它允許各個(gè)組織、個(gè)人建立適合自己需要的標(biāo)記集合,并且這些標(biāo)記集合可以迅速地投入使用。這一特征使得XML可以在電子商務(wù)、政府文檔、司法、出版、CAD/CAM、保險(xiǎn)機(jī)構(gòu)、廠商和中介組織信息交換等領(lǐng)域中一展身手,針對(duì)不同的系統(tǒng)、廠商提供各具特色的獨(dú)立解決方案。XML的最大優(yōu)點(diǎn)在于它的數(shù)據(jù)存儲(chǔ)格式不受顯示格式的制約。一般來說,一篇文檔包括三個(gè)要素:數(shù)據(jù)、結(jié)構(gòu)以及顯示方式。XML把文檔的三要素獨(dú)立開來,分別處理。首先把顯示格式從數(shù)據(jù)內(nèi)容中獨(dú)立出來,保存在樣式單文件中,這樣如果需要改變文檔的顯示方式,只要修改樣式單文件就可以了。XML的自我描述性能夠很好地表現(xiàn)許多復(fù)雜的數(shù)據(jù)關(guān)系,使得基于XML的應(yīng)用程序可以在XML文件中準(zhǔn)確高效地搜索相關(guān)的數(shù)據(jù)內(nèi)容,忽略其他不相關(guān)部分。XML還有其他許多優(yōu)點(diǎn),比如它有利于不同系統(tǒng)之間的信息交流,完全可以充當(dāng)網(wǎng)際語(yǔ)言,并有希望成為數(shù)據(jù)和文檔交換的標(biāo)準(zhǔn)機(jī)制??傮w說來,XML主要具有以下的一些重要特性: 半結(jié)構(gòu)化半結(jié)構(gòu)化是XML的一大特點(diǎn)。用戶可以通過文檔類型定義規(guī)范為XML定義語(yǔ)法、數(shù)據(jù)結(jié)構(gòu)以及元素類型,并且可以根據(jù)用戶的需要增加、刪除標(biāo)記。XML文檔可以用不同的樣式進(jìn)行顯示。利用標(biāo)記自身所包含的語(yǔ)義,XML可以將異構(gòu)的數(shù)據(jù)集成在一起。利用XML的半結(jié)構(gòu)化性可以解決異構(gòu)數(shù)據(jù)轉(zhuǎn)換的問題。 自描述性 XML文檔通常包含一個(gè)文檔類型聲明,因而XML文檔是自描述的。不僅人能讀懂XML文檔,計(jì)算機(jī)也能處理。XML表示數(shù)據(jù)的方式真正做到了獨(dú)立于應(yīng)用系統(tǒng),并且數(shù)據(jù)能夠重用。XML文檔被看作是文檔的數(shù)據(jù)庫(kù)化和數(shù)據(jù)的文檔化。 可擴(kuò)展性 XML允許使用者創(chuàng)建和使用他們自己的標(biāo)記而不是HTML的有限詞匯表。這一點(diǎn)至關(guān)重要,企業(yè)可以用XML為電子商務(wù)和供應(yīng)鏈集成等應(yīng)用定義自己的標(biāo)記語(yǔ)言,甚至特定行業(yè)一起來定義該領(lǐng)域的特殊標(biāo)記語(yǔ)言,作為該領(lǐng)域信息共享與數(shù)據(jù)交換的基礎(chǔ)。 靈活性HTML很難進(jìn)一步發(fā)展,就是因?yàn)樗歉袷健⒊谋竞蛨D形用戶界面語(yǔ)義的混合,要同時(shí)發(fā)展這些混合在一起的功能是很困難的。而XML提供了一種結(jié)構(gòu)化的數(shù)據(jù)表示方式,使得用戶界面分離于結(jié)構(gòu)化數(shù)據(jù)。所以,Web用戶所追求的許多先進(jìn)功能在XML環(huán)境下更容易實(shí)現(xiàn)。當(dāng)然,XML作為一個(gè)新建立的標(biāo)準(zhǔn),還有許多不足之處:它在強(qiáng)調(diào)了數(shù)據(jù)結(jié)構(gòu)的同時(shí),語(yǔ)義表達(dá)能力上略顯不足。另外,XML的有些技術(shù)尚未形成統(tǒng)一的標(biāo)準(zhǔn),充分支持XML的應(yīng)用處理程序還不多,甚至瀏覽器對(duì)XML的支持也是有限的。盡管如此,我們?nèi)匀豢梢灶A(yù)言,隨著人們對(duì)XML認(rèn)識(shí)的逐漸深入,XML必將成為網(wǎng)絡(luò)技術(shù)不可缺少的一員。1.5 XML查詢概述XML數(shù)據(jù)查詢與XML數(shù)據(jù)存儲(chǔ)方式密切相關(guān),在確定存儲(chǔ)方式后,選擇合適的查詢語(yǔ)言,可以對(duì)Internet中的大量數(shù)據(jù)進(jìn)行靈活的查詢。XML數(shù)據(jù)的物理存儲(chǔ)格式對(duì)查詢處理的效率有很大的影響,不同的存儲(chǔ)方式配合不同的查詢語(yǔ)言和查詢方式,會(huì)在查詢效率上有很大的不同。現(xiàn)今較為流行的是利用關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)管理XML數(shù)據(jù),它可以保證XML數(shù)據(jù)的一致性和完整性。與此同時(shí),關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品在市場(chǎng)上占的比重較大,包括WEB上的后臺(tái)服務(wù)器所用的數(shù)據(jù)庫(kù)一般也是關(guān)系數(shù)據(jù)庫(kù),那么如果用關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)XML數(shù)據(jù)的話,就能夠比較方便地在兩者之間進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換。所以,用關(guān)系數(shù)據(jù)庫(kù)來存儲(chǔ)和查詢XML數(shù)據(jù)是一種方便可行的方法,而且比較容易實(shí)現(xiàn)企業(yè)應(yīng)用的遷移。存儲(chǔ)方式及查詢方式確定之后,需要設(shè)計(jì)一種方便、易用的XML查詢語(yǔ)言,供用戶及上層應(yīng)用程序檢索XML文檔。目前,己經(jīng)有多種面向XML數(shù)據(jù)的查詢語(yǔ)言,如Lorel,XML-QL,XML-GL,XQL,XSLT,Quilt,xQuery等。下文將對(duì)XML文本存儲(chǔ)數(shù)據(jù)查詢作詳細(xì)介紹。3 文本存儲(chǔ)中XML數(shù)據(jù)查詢方法對(duì)于一般的XML文檔,有多種查詢語(yǔ)言可以對(duì)其進(jìn)行查詢,只是它們各有側(cè)重,下面我們通過實(shí)例對(duì)它們分別介紹。以下是簡(jiǎn)單的XML文檔: 文檔students 文檔courses 文檔scs3.1 XPath3.1.1 XPath簡(jiǎn)介XPath J Clark. XML Path Language (XPath) EB.OL. /TR/xpath.(XML定位語(yǔ)言)是XML路徑語(yǔ)言,是W3C關(guān)于查詢部分XML文檔的通用語(yǔ)言標(biāo)準(zhǔn)。XPath是實(shí)現(xiàn)XML數(shù)據(jù)的周游語(yǔ)言,是其他查詢語(yǔ)言的基礎(chǔ)。XPath通過定義一系列規(guī)則來指定對(duì)XML文檔樹型結(jié)構(gòu)的訪問方式,并給出從某個(gè)結(jié)點(diǎn)起的查詢路徑,搜索文檔。使用XPath可以在XML層次結(jié)構(gòu)中快速定位和提取信息,它的內(nèi)建函數(shù)提供了全面的功能,可以方便的處理數(shù)值及文本數(shù)據(jù)??梢赃@樣理解XPath,如果將XML文檔看成DOS目錄結(jié)構(gòu),XPath就是cd,dir等目錄操作命令的集合。3.1.2 XPath文本查詢實(shí)例XPath主要用于對(duì)XML文檔選定部分的定位及導(dǎo)航,XPath主要是對(duì)一個(gè)文檔的查詢。如對(duì)上面的students.xml中的student的sno進(jìn)行查詢:其輸出結(jié)果為:“95001” “95002”3.1 XSLT 根據(jù)W3C 劉秋香, 張永勝. 對(duì)XPath,XLink和XPointer的分析研究J. 微機(jī)發(fā)展. 2005 (10): 19-22的規(guī)范說明,最早設(shè)計(jì)XSLT(XML Systlesheet Language Transormation)的用意是幫助XML文檔轉(zhuǎn)換為其它文檔。但是隨著技術(shù)的發(fā)展,XSLT已不僅僅用于將XML轉(zhuǎn)換為HTML或其它文本格式。如今,XSLT是一種應(yīng)用于操作XML文檔的完整高級(jí)語(yǔ)言,用于轉(zhuǎn)換XML文檔結(jié)構(gòu)。3.2.1 XSLT主要功能及特點(diǎn) XSLT最主要的功能是將XML轉(zhuǎn)換為HTML,XSLT含有類似數(shù)據(jù)查詢的語(yǔ)法,是一種轉(zhuǎn)換XML文檔的語(yǔ)言。XSLT中包含了一系列的模板規(guī)則與命令來控制數(shù)據(jù)的結(jié)構(gòu) W3C. XSL Transformations (XSLT) 1.0. W3C Recommendation EB/OL (1999-11-16). /TR/1999/REC-xslt-1999.11.16.,它具有以下特點(diǎn): (1)XSLT基于嚴(yán)格的XML文檔格式,可以自動(dòng)使用XML的所有詞匯設(shè)備。XSLT可以容易地將期望的XML輸出塊嵌入樣式表,如多個(gè)簡(jiǎn)單的樣式表可以寫為期望輸出文檔的模板,并且可以將一些特殊指令嵌入文本中,以便插入輸入中的變量數(shù)據(jù)或計(jì)算某個(gè)值。 周兆濱,等.XSLT應(yīng)用于數(shù)據(jù)編程的研究J. 制造業(yè)自動(dòng)化, 2003(12): 93-95. 周順平, 等. 使用XSL表現(xiàn)XML的幾種方法J. 計(jì)算機(jī)與現(xiàn)代化,2002(5): 7-10. (2)XSLT樣式表是易于移植的,任何符合XSLT推薦標(biāo)準(zhǔn)的處理程序都可以使用它。 (3)基本處理范例是模式匹配。XSLT樣式表包括一組模板規(guī)則,每條規(guī)則都使用以下方式:“如果在輸入中遇到此條件,則生成下列輸出”。XSLT將輸入XML文檔視為樹狀結(jié)構(gòu),每條模板規(guī)則都適用于樹中的一個(gè)節(jié)點(diǎn),模板規(guī)則本身可以決定下一步處理哪些節(jié)點(diǎn),因此不必按照輸入文檔的原始順序來掃描輸入。(4)XSLT是用XPath子語(yǔ)言來引入輸入樹中的節(jié)點(diǎn)。3.2.2 XSLT文本查詢實(shí)例XSLT適合對(duì)單獨(dú)的XML文檔進(jìn)行查詢。如對(duì)上面的students.xml中的學(xué)號(hào)和姓名進(jìn)行查詢,可采用如下格式:結(jié)果如下:3.3 XQueryXQuery D. Chamberlin, etal. XQuery1.0: An XML query languageEB/OL./TR/xquery/. World Wide Web Consortium. XQuery 1.0: An XML Query LanguagesEB/OL(2002-11-15).W3C Working Draft. /TR/2002/WD-xquery-20021115.工作組的任務(wù)是創(chuàng)建一種靈活的查詢語(yǔ)言以便從XML文檔中抽取數(shù)據(jù)。目前W3C所公布的最新XQuery草案是2003年11月12日的版本,它還在不斷的修訂和完善之中。作為一種新型的查詢語(yǔ)言,XQuery汲取了其它多種查詢語(yǔ)言的優(yōu)點(diǎn),適用于各種類型的XML數(shù)據(jù)源的查詢,不僅查詢功能強(qiáng)大,而且簡(jiǎn)潔靈活且易于實(shí)現(xiàn)。同時(shí),XQuery還具有從多種數(shù)據(jù)庫(kù)中檢索信息的特點(diǎn),它能對(duì)各種數(shù)據(jù)和文檔進(jìn)行查詢。3.3.1 XQuery查詢?cè)鞽Query建立在XPath規(guī)范之上,其核心是能夠通過XPath表達(dá)式從文檔中選擇特殊的節(jié)點(diǎn)序列。XQuery是一種將查詢表示成表達(dá)式的功能語(yǔ)言,通過它所支持的多種表達(dá)式,它的查詢可以有多種不同的形式,XQuery還允許通過嵌套類SQL的子句來創(chuàng)建復(fù)雜查詢,以及通過將XML構(gòu)造器直接包括在輸出中來創(chuàng)建復(fù)雜結(jié)果。XQuery模塊包括三個(gè)部分:命名空間和模式聲明、函數(shù)定義、查詢表達(dá)式,其中模式聲明和函數(shù)定義不是必須的。 XQuery的特性之一是利用功能強(qiáng)大的FLWR表達(dá)式進(jìn)行查詢 萬(wàn)常選. XSL數(shù)據(jù)庫(kù)技術(shù)M.北京:清華大學(xué)出版社,2005: 13-38.。FLWR表達(dá)式是一種典型的能夠完成具有某種實(shí)際意義的查詢的表達(dá)式。FLWR表達(dá)式包含模式匹配、過濾選擇和結(jié)果構(gòu)造三種操作。FLWR語(yǔ)句是XQuery所具有的最接近于SQL的語(yǔ)句。FLWR表達(dá)式是由FOR-LET-WHERE-RETURN四個(gè)關(guān)鍵字定義的子句構(gòu)成的,在最新的標(biāo)準(zhǔn)中則更新為“FLWOR”,其中O代表Order by子句。FLWOR表達(dá)式可以完成很多在XSLT中難以完成的任務(wù)。它支持迭代并且可以把變量綁定到中間結(jié)果,對(duì)兩個(gè)或多個(gè)文檔進(jìn)行連接和重構(gòu)數(shù)據(jù)時(shí)這種表達(dá)式非常有用。每個(gè)FLWOR表達(dá)式都有一個(gè)或多個(gè)for子句、一個(gè)或多個(gè)let子句、一個(gè)可選的where子句、一個(gè)order by子句以及一個(gè)return子句。for子句通過將節(jié)點(diǎn)綁定到變量以便繼續(xù)循環(huán)遍歷序列中的每一個(gè)節(jié)點(diǎn);let子句為一個(gè)變量賦一個(gè)值或一個(gè)序列;return子句定義每個(gè)元組要返回的內(nèi)容;對(duì)于where子句,如果其有效布爾值為真,那么該元組就被保留,并且它的變量綁定用在return子句中,如果其有效布爾值為假,那么該元組就被廢棄。3.3.2 XQuery文本查詢實(shí)例(1)簡(jiǎn)單查詢 XQuery在查詢方面有類似于SQL的結(jié)構(gòu),易于理解,易于設(shè)計(jì)。如對(duì)上面的scs.xml進(jìn)行查詢并返回所有成績(jī)大于90的學(xué)生的sno和grade的結(jié)果,可采用如下的方式:結(jié)果為:“950

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論