XQuery = XML Query,是W3C所制定的一套標準,用來從類XML(標準通用標記語言的子集)文檔中提取信息,類XML文檔可以理解成一切符合XML數(shù)據(jù)模型和接口的實體,他們可能是文件或RDBMS。
解釋XQuery最佳方式是這樣講:XQuery 相對于 XML 的關(guān)系,等同于 SQL 相對于數(shù)據(jù)庫表的關(guān)系。
XQuery 被設(shè)計用來查詢 XML 數(shù)據(jù) - 不僅僅限于 XML 文件,還包括任何可以 XML 形態(tài)呈現(xiàn)的數(shù)據(jù),包括數(shù)據(jù)庫。
什么是 XQuery?
XQuery 是用于 XML 數(shù)據(jù)查詢的語言
XQuery 對 XML 的作用類似 SQL 對數(shù)據(jù)庫的作用
XQuery 被構(gòu)建在 XPath 表達式之上
XQuery 被所有主要的數(shù)據(jù)庫引擎支持(IBM、Oracle、Microsoft等等)
XQuery 是 W3C 標準。
Query是一種發(fā)展得最為慎重的W3C標準,因而演化得也最為緩慢,XQuery也因此而聞名。造成這種現(xiàn)象的一個主要原因就是,對于如何獲得以XML形式存儲的信息,業(yè)界還沒有什么經(jīng)驗。許多公司仍然在這個領(lǐng)域創(chuàng)新,并且正不斷產(chǎn)生大量的經(jīng)驗信息,這些信息必須經(jīng)過處理和提煉,才能使解決XML查詢問題的水平達到令人滿意的程度。
XQuery還不是W3C推薦標準。最新的工作草案已經(jīng)有了顯著的進展,并且正在被許多不同的供應(yīng)商或多或少地實現(xiàn)。一些市場主導(dǎo)供應(yīng)商例如BEA和Software AG已經(jīng)決定發(fā)布一些基于這些工作草案的產(chǎn)品,但是直到其成為W3C的推薦標準前,這些廠商并不準備緊跟這一標準。由于最終發(fā)布版的延遲推出,有關(guān)其實施的大規(guī)模市場推廣計劃尚未開始。
XQuery低公開度的另一個原因就是,到目前為止,還沒什么證據(jù)能表明XML格式的數(shù)據(jù)存儲能夠成為將關(guān)系型數(shù)據(jù)存儲拉下馬的通用技術(shù)。雖然XML數(shù)據(jù)庫展現(xiàn)出很多有價值的和特殊的特性,但是它們在市場滲透方面與面向?qū)ο髷?shù)據(jù)庫比較相似。這兩種數(shù)據(jù)庫都可以很方便地解決專業(yè)問題,并且適用于中小型系統(tǒng)。不過,隨著存儲問題復(fù)雜性的增加,XML和面向?qū)ο髷?shù)據(jù)庫看起來都沒有關(guān)系型數(shù)據(jù)庫那樣容易擴展。實際上,像關(guān)系型數(shù)據(jù)庫那樣運作可能也不會取得成功。只有在技術(shù)方面的大踏步前進才會減少對關(guān)系型數(shù)據(jù)庫管理系統(tǒng)遺留項目的大量投資。
XQuery有如下特點:
-
XQuery是查詢XML的語言
-
XQuery類似RDBMS的SQL
-
XQuery建立在XPATH的基礎(chǔ)之上
-
XQuery已經(jīng)被主流的RDBMS所支持,如Oracle,DB2,SQLServer
XQuery應(yīng)用舉例
·從Web Service中提取信息
·生成數(shù)據(jù)的摘要報告
·將XML轉(zhuǎn)換為XHTML
·從Web文檔中找尋信息
在了解XQuery之前,你應(yīng)該首先了解
XML
HTML/XHTML
XPATH