版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院第08講 使用XSL轉(zhuǎn)換XML軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院目標(biāo) 知識(shí)目標(biāo)XML文檔結(jié)構(gòu)XSL模板規(guī)則XSL路徑選擇和節(jié)點(diǎn)匹配 能力目標(biāo)學(xué)會(huì)編寫(xiě)XSL文檔學(xué)會(huì)使用XSL將XML轉(zhuǎn)化為HTML軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù) 任務(wù)1:使用XSL模板規(guī)則轉(zhuǎn)換XML 任務(wù)2:使用XSL輸出指令轉(zhuǎn)換XML 任務(wù)3:使用XPath路徑導(dǎo)航 任務(wù)4:使用XSL流程控制語(yǔ)言 任務(wù)5:對(duì)XSL輸出結(jié)果排序軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院可擴(kuò)展樣式表轉(zhuǎn)換語(yǔ)言百科名片: XSL是指
2、可擴(kuò)展樣式表語(yǔ)言 (EXtensible Stylesheet Language),是一種用于以可讀格式呈現(xiàn) XML 數(shù)據(jù)的語(yǔ)言。包含兩部分:XSLT :用于轉(zhuǎn)換 XML 文檔的語(yǔ)言,XSLT 是指 XSL 轉(zhuǎn)換 (XSL Transformation),它是 XSL 最重要的部分,XSLT = XSL 轉(zhuǎn)換;Xpath:用于在 XML 文檔中導(dǎo)航的語(yǔ)言。軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院簡(jiǎn)單XML文檔(simple.xml)軟件工程鄧良松 劉海巖 陸麗娜西安電子科技大學(xué)出版社2001年6月7-5606-0924-4軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院
3、XML節(jié)點(diǎn)樹(shù) 說(shuō)明:在 XML節(jié)點(diǎn)樹(shù)中,有七種類型的節(jié)點(diǎn):元素、屬性、文本、命名空間、處理指令、注釋以及文檔(根)節(jié)點(diǎn)。說(shuō)明:在 XML節(jié)點(diǎn)樹(shù)中,有七種類型的節(jié)點(diǎn):元素、屬性、文本、命名空間、處理指令、注釋以及文檔(根)節(jié)點(diǎn)。軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院顯示XML的xsl文檔(simple.xsl)軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院XSL基本結(jié)構(gòu) 模板定義和應(yīng)用 軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)1:使用XSL模板轉(zhuǎn)換XML1. 1. 定義模板定義模板定義模板規(guī)則,其match屬性指定要將此模板規(guī)則應(yīng)用于輸入文檔的哪個(gè)
4、節(jié)點(diǎn),屬性的值是 XPath 表達(dá)式。2. 2. 模板應(yīng)用模板應(yīng)用 元素可把模板規(guī)則應(yīng)用到指定的節(jié)點(diǎn)集,屬性select指定要處理的節(jié)點(diǎn)集。3. 3. 使用文本輸出指令取值使用文本輸出指令取值 元素用于提取選定節(jié)點(diǎn)的值,屬性select指定要提取值的節(jié)點(diǎn)。提取后的值添加到輸出流中。案例案例1-11-1(books.xmlbooks.xml和和tableList.xslttableList.xslt)軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)1:使用XSL模板轉(zhuǎn)換XML模板應(yīng)用的補(bǔ)充說(shuō)明:模板應(yīng)用的補(bǔ)充說(shuō)明:若為”節(jié)點(diǎn)集”定義有模板(即, 有 ),則應(yīng)用對(duì)應(yīng)的模版,若沒(méi)有定義相
5、應(yīng)的模板,則默認(rèn)輸出節(jié)點(diǎn)(包括子節(jié)點(diǎn))里的所有文本。軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)2:常用XSL輸出指令任務(wù)2-1:生成元素的指令任務(wù)2-2:添加屬性指令軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)2-1:生成元素指令指令用于動(dòng)態(tài)生成元素,生成的元素被直接輸出到目標(biāo)文檔中。 生成一個(gè)元素a,元素a的取值為當(dāng)前元素排序號(hào)。函數(shù)position()取當(dāng)前元素的排序號(hào)。案例案例2-12-1(element.xsltelement.xslt)對(duì)應(yīng)的xml文檔將生成如下代碼:記錄序號(hào)軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)2-2:添加屬性
6、指令指令創(chuàng)建屬性,并將屬性添加到元素節(jié)點(diǎn)中。 為元素a添加一個(gè)屬性href,屬性值取當(dāng)前元素的排序號(hào)。案例案例2-22-2(attribute.xsltattribute.xslt)對(duì)應(yīng)的xml文檔將生成如下代碼:記錄序號(hào)軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)3:使用Xpath路徑導(dǎo)航任務(wù)3-1:絕對(duì)路徑和相對(duì)路徑任務(wù)3-2:使用路徑表達(dá)式選取節(jié)點(diǎn)任務(wù)3-3:使用謂語(yǔ)選取節(jié)點(diǎn)任務(wù)3-4:選取未知節(jié)點(diǎn)任務(wù)3-5:選取若干路徑的節(jié)點(diǎn)軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)3-1:絕對(duì)路徑與相對(duì)路徑1. 絕對(duì)路徑是從根節(jié)點(diǎn)(“/”)到指定節(jié)點(diǎn)的路徑;2. 相
7、對(duì)路徑是從當(dāng)前節(jié)點(diǎn)到指定節(jié)點(diǎn)的路徑;3. 路徑中使用“/”作為分隔符。 絕對(duì)路徑:“/BookList/Book“相對(duì)路徑: “BookList/Book“案例案例3-1:(:(absolute-and-relative-path.xslt)軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)3-2:用路徑表達(dá)式選節(jié)點(diǎn)表達(dá)式表達(dá)式描述描述nodename選取此節(jié)點(diǎn)的所有子節(jié)點(diǎn)。/從根節(jié)點(diǎn)選取。/從匹配選擇的當(dāng)前節(jié)點(diǎn)選擇節(jié)點(diǎn),而不考慮它們的位置。.選取當(dāng)前節(jié)點(diǎn)。.選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)。選取屬性。常用的路徑表達(dá)式:軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)3-2:用路徑表
8、達(dá)式選節(jié)點(diǎn)路徑表達(dá)式路徑表達(dá)式結(jié)果結(jié)果BookList選取BookList元素的所有子節(jié)點(diǎn)。/BookList選取根元素BookList。注釋:假如路徑起始于正斜杠( / ),則此路徑始終代表到某元素的絕對(duì)路徑!BookList/Book選取屬于BookList的子元素的所有 Book 元素。/Title選取所有Title 子元素,而不管它們?cè)谖臋n中的位置。BookList/Author選擇屬于BookList元素的后代的所有 Author元素,而不管它們位于 BookList之下的什么位置。/ Category選取名為Category的所有屬性。案例案例3-2(xpath-expressio
9、n.xslt):):選擇節(jié)點(diǎn)舉例:選擇節(jié)點(diǎn)舉例:軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)3-3:使用謂語(yǔ)選取節(jié)點(diǎn)案例案例3-3(xpath-predicate.xslt):):謂語(yǔ)用來(lái)查找某個(gè)特定的節(jié)點(diǎn)或者包含某個(gè)指定的值的節(jié)點(diǎn)。謂語(yǔ)被嵌在方括號(hào)中。路徑表達(dá)式路徑表達(dá)式結(jié)果結(jié)果/BookList/Book1選取屬于BookList子元素的第一個(gè) Book 元素。/BookList/Booklast()選取屬于 BookList子元素的最后一個(gè) Book元素。/BookList/Booklast()-1選取屬于 BookList子元素的倒數(shù)第二個(gè) book 元素。/BookL
10、ist/Bookposition()3選取最前面的兩個(gè)屬于 BookList元素的子元素的 Book 元素。注意:“”用“<”做實(shí)體替換。/BookCategory選取所有擁有名為 Category的屬性的 Book元素。/BookCategory =計(jì)算機(jī)/BookTitle=諸葛孔明選取所有 Book元素,這些元素Category屬性值為“計(jì)算機(jī)”(或Title子元素值為諸葛孔明) 。軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)3-4:選取未知節(jié)點(diǎn)通配符通配符描述描述*匹配任何元素節(jié)點(diǎn)。*匹配任何屬性節(jié)點(diǎn)。node()匹配任何類型的節(jié)點(diǎn)。路徑表達(dá)式路徑表達(dá)式結(jié)果結(jié)果/
11、BookList/*選取BookList元素的所有子元素。/*選取文檔中的所有元素。/Book*選取所有帶有屬性的Book元素。案例案例3-4(xpath-tongpeifu.xslt)通配符:通配符:舉例:舉例:軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)3-5:選取若干路徑的節(jié)點(diǎn)通過(guò)在路徑表達(dá)式中使用“|”運(yùn)算符,可以選取若干個(gè)路徑的節(jié)點(diǎn)。路徑表達(dá)式路徑表達(dá)式結(jié)果結(jié)果/Book/Title | /Book/Publisher選取Book元素的所有Title和Publisher元素。/Title | /PubDate選取文檔中的所有Title和PubDate 元素。/Book
12、List/Book/Title | /Author選取屬于BookList 元素的 Book元素的所有Title 元素,以及文檔中所有的Author 元素。案例案例3-5(xpath-multi.xslt)軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)4:XSL流程控制任務(wù)4-1:?jiǎn)螚l件流程控制任務(wù)4-2:多條件流程控制任務(wù)4-3:循環(huán)處理軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)4-1:?jiǎn)螚l件流程控制根據(jù)條件表達(dá)式,決定是否輸出給定的XML段。 輸出內(nèi)容 案例案例4-14-1(element-element-if.xsltif.xslt)軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)4-2:多條件流程控制 輸出內(nèi)容1 輸出內(nèi)容2 輸出內(nèi)容n 軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院. 案例案例4-24-2:element-element-choose.xsltchoose.xslt軟件學(xué)院軟件學(xué)院常州信息職業(yè)技術(shù)學(xué)院常州信息職業(yè)技術(shù)學(xué)院任務(wù)4-3:循環(huán)處理XSL中可以使用元素實(shí)現(xiàn)循環(huán)功能。 書(shū)名作者出版社出版日期ISBN類別 案例案例4-34-3(element-element-foreach.xsltfo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年租賃打印復(fù)印一體機(jī)合同3篇
- 2024年家用電器維修與消費(fèi)者權(quán)益保護(hù)合同3篇
- 2024年精簡(jiǎn)版機(jī)電裝置承包協(xié)議范例版B版
- 2024年城市綠化土地房屋股權(quán)轉(zhuǎn)讓與養(yǎng)護(hù)合同范本3篇
- 2024年甲乙雙方關(guān)于砂石場(chǎng)原材料采購(gòu)的獨(dú)家合同
- 2024年電子數(shù)據(jù)處理保密合同3篇
- 2024年短期汽車租賃合同
- 2024年研究生聯(lián)合研究合作合同樣本版B版
- 《有限責(zé)任公司強(qiáng)制盈余分配制度研究》
- 2024年石油管道建設(shè)監(jiān)理合同范本3篇
- 2024-2030年中國(guó)橄欖油行業(yè)市場(chǎng)發(fā)展動(dòng)態(tài)及前景趨勢(shì)分析報(bào)告
- 事業(yè)單位考試職業(yè)能力傾向測(cè)驗(yàn)(綜合管理類A類)試題與參考答案(2024年)
- 《《論語(yǔ)》導(dǎo)讀(復(fù)旦版)》章節(jié)測(cè)試答案
- 杜絕“死亡游戲”(夢(mèng)回大唐)學(xué)生安全主題班會(huì)課件
- 第16課《誡子書(shū)》同步練習(xí)-2024-2025學(xué)年統(tǒng)編版(2024)語(yǔ)文七年級(jí)上冊(cè)
- 個(gè)人消費(fèi)貸款保證合同模板
- 《園林植物病蟲(chóng)害》課件
- 2024中國(guó)銀行借款合同范本
- 2024-2025學(xué)年九年級(jí)上學(xué)期歷史期末模擬試卷(統(tǒng)編版+含答案解析)
- 新能源汽車充電樁安裝維護(hù)合同
- 2023上半年四川公務(wù)員考試申論試題(省市卷)
評(píng)論
0/150
提交評(píng)論