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