由於關聯式資料查詢的SQL語言,無法完美地處理XML文件。1998年W3C聯盟召集一個工作小組,討論XML文件查詢的方案,工作小組主要的成員包括IBM、AT&T、BEA、貝爾實驗室、DataDirect、微軟及Oracle等。
XML文件是分層或樹狀結構的資料,已逐漸挑戰SQL資料庫的地位,與SQL資料庫不同的是,XML文件能描述自身的內容及標籤。XQuery未來可能有機會取代SQL語法。在XML文件中,元素之間的巢狀結構和先後順序記錄在文件中,因此查詢和儲存XML文件時,次序變得非常重要。然而處理文件和處理資料之間,存在一些基本的差異,XQuery和XPath提供了解決方案,可彌補SQL語言對文件結構進行遍歷和搜尋上的不足。
XQuery是一種為XML所設計,類似SQL的程式語言,包含For、Let、Where、Sortby及Return等表達式,整數、浮點數、字串、日期、時間及XML相關的資料型態,也可設定序列,可說是Xpath的延伸。與Xpath不同的是,XQuery提供一系列的資料類型和控制結構的程式編輯環境,可從XML文件與包含XML的資料庫中,查詢或擷取資料。而XPath是一種可以尋找節點位置的路徑語言,如同硬碟資料夾的檔案路徑,使用一系列的字串,用以描述XML文件中各種元素或節點的位置。
關聯式資料庫和XML的結構,卻有著極大的差異,為了要記錄這些XML的資料,Oracle,IBM,Microsoft,和Sybase等資料庫的大廠,已紛紛提供設計的工具,協助企業處理XML和關聯式資料庫之間的轉換。
在XML資料交換之際,格式的轉換可能會延長XML資料交易的處理時間,甚至導致應用程式存取關連式資料庫的速度變慢。因此目前已有原生型XML資料庫被開發出來,如:Software AG發展的Tamino、eXcelon公司的eXcelon,與XML:DB的dbXML等。
所謂原生性XML資料庫,是指在資料儲存的格式上,完全依照XML資料的階層化結構(DTD格式),而非透過轉換器使XML資料儲存於關聯式資料庫中,或由關聯式資料庫抓取資料,再轉換成為XML資料格式。不過,由於現今企業仍多是使用關聯式資料庫,因此,資料庫和XML資料間的相互轉換的機制,目前還是比較實際可行的方法。文⊙李延華