第六章 XML高級語法(2).ppt_第1頁
第六章 XML高級語法(2).ppt_第2頁
第六章 XML高級語法(2).ppt_第3頁
第六章 XML高級語法(2).ppt_第4頁
第六章 XML高級語法(2).ppt_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、XML技術基礎,發(fā)布:蔡體健,第6章XML高級語法,回顧,XQuery,XLink,XPointer,XSLT全部依賴XPath進行數(shù)據(jù)定位。 XQuery是一種用于XML數(shù)據(jù)查詢的語言,用于從XML文檔中搜索和提取元素和屬性語言。 XQuery通過將選擇條件添加到XPath返回的節(jié)點來實現(xiàn)復雜的查詢任務。 XPath是XQuery的語法子集。 XSLT和XQuery兩種功能都是基于相同的基礎。 Xpath是為了處理XML文檔而修訂的,它借用了腳本的概念。 XSLT將重點放在轉換上,而XQuery將重點放在查詢上。 XLink和XPointer是可擴展鏈接語言的兩個重要部分。 XLink提供一

2、個文檔與另一個文檔之間的鏈接。 基于XLink文檔的鏈接,XPointer可以鏈接到XML文檔的詳細部分。 本課的目標、摘要、XQuery、XQuery等同于查詢XML數(shù)據(jù)的語言XQuery XML SQL數(shù)據(jù)庫XQuery是在XPath表達式上構建的所有重要內容,如Microsoft )支持XQuery XQuery XPath有三個部分: XML文檔中的零個、一個或多個節(jié)點的選擇方法,以及XPath的XPath規(guī)范。 選擇特定的XML文檔,并向XPath返回的節(jié)點添加附加選擇條件語法。 對于API接口(如XQJ (Java API查詢) ),必須使用特定的編程語言對XQuery表達式進行求

3、值,才能應用XQuery。 XQuery、Xquery 1.0、Xpath 2.0、XSL 2.0全部在2007年1月23日作為W3C推薦標準確立。 實際上,W3C的XSL和XML Query工作組一起工作,提取XSL 2.0和Xquery 1.0的共同部分并命名為XPath 2.0,以達到共享盡可能多的內容的目標。 Xpath 2.0是XQuery1.0語法的子集,XQuery構建在XPath表達式之上,XQuery1.0和Xpath 2.0共享相同的數(shù)據(jù)模型,并支持相同的函數(shù)和運算符。 XQuery的基本語法規(guī)則,XQuery是區(qū)分大小寫的元素,屬性,變量必須是有效的XML名稱,XQuer

4、y字符串值可以用單引號或雙引號寫,而XQuery變量定義則是“$”符號后面的名稱,等等。 示例: $bookstore XQuery注釋;例如(: XQuery comment 3360 );XQuery如何選擇文檔;XQuery的一個重要特性是,您可以指定要應用XPath的XML文檔。 XQuery使用doc ()函數(shù)指定文檔,使用doc(XML文檔URI) /路徑表達式。 例如, doc (books.xml )/book store/book/titledoc ()函數(shù)用于打開books.xml文件或一系列文檔,這些文件是用于在XML文檔中選擇標題的路徑表示分別應用示例XML文檔、eve

5、rydayitaliangiadadelaurentiis 200530.00 Harry Potter JK.Rowling 200529.99、XML FLWOR表達式和FLWOR表達式let :要為變量賦值,請使用let子句。 在FLWOR式中,let子句的出現(xiàn)較少。 where:where子句允許將選擇條件應用于節(jié)點集。 order by:order by子句僅用于對結果集進行排序,而不更改源數(shù)據(jù)。 XPath只能按位置排序,而order by子句可以按其它數(shù)據(jù)排序。 return:return子句定義返回的內容。 return子句始終出現(xiàn)在FLWOR表達式的末尾,每個FLWOR表達式

6、都需要return子句。 XML FLWOR表達式,示例6.4.xquery,查詢版本“1.0”用于$ xindoc (“書籍. XML”) /書籍存儲/書籍where $ x /價格30按訂單$ x /標題重置此處返回的是標題元素、let子句、let $x :=(1 to 5)return $x、1 2 3 4 5,返回的結果:XQuery:xqueryhhery XQuery,要將查詢結果以HTML格式輸出到文檔,請使用flw 大括號指示XQuery處理程序將要校正的表達式與周圍的文本XML分離,并將包圍的數(shù)據(jù)視為需要評估和替換的變量,而不是文本。 查詢html、查詢版本1.0; xind

7、oc (“7-books.XML”) /手冊存儲/手冊/標題順序按$ x返回$ x, 支持新興事業(yè)(“7-books.XML”) /書籍存儲/書籍/標題順序($ x ),支持XQuery 3360 使用XQuery表達式if-then-else條件語句時應注意的語法: if表達式需要括號。 查詢版本1.0; for $ xindoc (books.XML )/book store/bookreturnif ($ x/category=children ) thendata ($ x/) everydayitalianharrypotterlearningxmlxqu 有關字符串值、數(shù)值、日期時

8、間比較、節(jié)點和QName處理、排序處理、邏輯值等的函數(shù)。 也可以為XQuery定義自己的函數(shù)。 XQuery包含函數(shù),而XQuery函數(shù)名稱空間的URI是: http:/www.w3. org/2005/02/XPath-fath。 但是,fn:是“名稱空間”的默認前綴,因此該函數(shù)的名稱必須以前綴名稱(如upper case ($ book title ) doc (books.XML )/books )調用=Harry let $ name 3360=(substring ($ book title,1,4 ) )、XQuery自定義函數(shù)、自定義函數(shù)格式: declare function前

9、綴3360說明:用戶定義函數(shù)使用declare function關鍵字函數(shù)主體必須用大括號括起來。 XQuery自定義函數(shù)例題,XQuery版本1.0; declarefunctionlocal :最小價格? 為什么是$discount as xs:decimal? as xs :戴爾? let $ disc :=$價格* $ discountreturn ($價格- $光盤); (:以下為調用自定義函數(shù)local:minPrice的示例3360 ) for $ booki ndoc (books.XML )/book store/bookreturnlocal : min price0.3)

10、運行結果: 2120.0 XQuery在軟件開發(fā)中的地位,XQuery類似于SQL,XQuery最適合XML。 越來越多的數(shù)據(jù)使用XML標簽,數(shù)據(jù)庫公司需要向產(chǎn)品添加XML存儲和查詢功能。 越來越多的數(shù)據(jù)庫公司擴展了核心數(shù)據(jù)庫產(chǎn)品以提供XQuery功能。 但是,SQL不會消失,相反XQuery會擴展,成為互補的態(tài)勢。 目前,在軟件開發(fā)中,要查詢XML數(shù)據(jù),有四種方案:純sql (不包括XQuery ) sql/XML :嵌入了XQuery的SQL。 XQuery是作為獨立語言(SQL除外)嵌入了SQL的XQuery。 具體選擇哪種方案,需要考慮應用程序的具體需要和特征。 這是第一段的文字ima

11、ges1.jpg這是第二段的文字images2.jpg這是第三段的文字images3.jpg這是第四段的文字images4.jpg這是第五段的文字images5.jpg這是第六段的文字images綜合事例(接下來) pic6.8.xsl、XLink、XLink和XPointer是可擴展鏈接語言(可擴展鏈接語言,XLL )的兩個重要元素,XLink定義了在XML文件中創(chuàng)建超鏈接的標準方法。在XPointer中,XML文件中的超鏈接可以指向更精確、更詳細的部分(片段)。 XLink和XPointer是W3C的推薦標準。 2001年6月27日,XLink被確立為W3C推薦標準。 XPointer于2

12、003年3月25日成為W3C的推薦標準。 早期版本的瀏覽器不支持XLink和XPointer。 在當前的瀏覽器中,XLink和XPointer也支持最低限度。 什么是XLINK? XLink是XML鏈接語言的簡稱。 XLink是在XML文件中創(chuàng)建超鏈接的語言。 XLink和HTML的鏈接相似,但更強大。 XLink支持多方向鏈接。 也就是說,在多個方向上同時鏈接不僅不需要將鏈接保存到元素,也不需要將鏈接保存到鏈接的文檔。 XLink支持簡單鏈接(如HTML )和擴展鏈接(主要是將多個資源鏈接在一起),在XLink語法結構和HTML中,元素可以定義超鏈接。 XML沒有特殊的鏈接元素,它通過指定元

13、素屬性來表示鏈接。 以下是如何在XML文件中創(chuàng)建XLink簡單鏈接的示例:XLink語法結構、Visit W3Schools Visit W3C、XLink命名空間、 xlink :類型=“簡單”創(chuàng)建簡單鏈接xlink :類型=“簡單”xlink :類型=擴展聲明名稱空間xmlns : xx=http:/www.w3. org/1999/xlink定義簡單xllns Mozilla 0.98支持Netscape 6.02的某些xlink.Amaya是一個可見的XML瀏覽器,支持更多的XML功能。 未來的基于XML的通用瀏覽器提供了將XLink轉換為顯示標準的通用支持。 現(xiàn)實中,WEB主要是面向

14、HTML的媒體,XML是HTML的外觀XLink2HTML是XSLT工具,XLink可以轉換為現(xiàn)代瀏覽器能夠正確解釋的HTML和JavaScript。 XLINK示例、test、6-XLINK.xml、XLINK示例、6-XLINK.xsl、6-XLINK.xsl、擴展XLINK和擴展XLINK擴展XLINK元素用于描述鏈接本身的各種屬性,而XLINK定位符用于擴展XLink定義XLink元素DTD定義XLink定位符元素的DTD,轉到本章的目標,什么是XPointer? XPointer是XML指針語言的簡稱。 在HTML中,錨點鏈接可以創(chuàng)建指向HTML頁面中書簽的超級鏈接。 同樣,在XPointer

溫馨提示

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

評論

0/150

提交評論