xml實例教程6PPT課件_第1頁
xml實例教程6PPT課件_第2頁
xml實例教程6PPT課件_第3頁
xml實例教程6PPT課件_第4頁
xml實例教程6PPT課件_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、2021/3/91第六講 初識XSL2021/3/92 XSL (全稱是:可擴展的樣式單語言,全稱是:可擴展的樣式單語言,the eXtensible Stylesheet Language)比比CSS樣式單功能要強大的多。樣式單功能要強大的多。XSL的一的一個主要的用途就是將個主要的用途就是將XML文檔轉(zhuǎn)換成文檔轉(zhuǎn)換成HTML格式的文件,然后再交付給瀏覽格式的文件,然后再交付給瀏覽器,由瀏覽器顯示轉(zhuǎn)換的結(jié)果。器,由瀏覽器顯示轉(zhuǎn)換的結(jié)果。2021/3/93CSS缺點缺點: 只能處理簡單的、順序固定的只能處理簡單的、順序固定的XML文件,不能處理復(fù)文件,不能處理復(fù)雜的、高度結(jié)構(gòu)化的雜的、高度結(jié)構(gòu)

2、化的XML文檔。文檔。XSL標(biāo)準(zhǔn)特點:標(biāo)準(zhǔn)特點: 是一種基于是一種基于X M L的語言,它被設(shè)計用來轉(zhuǎn)換的語言,它被設(shè)計用來轉(zhuǎn)換X M L文文檔到另一種檔到另一種X M L文檔、文檔、HTML文檔或其他格式對象。文檔或其他格式對象。XSL規(guī)范內(nèi)容:規(guī)范內(nèi)容: XSL轉(zhuǎn)換:轉(zhuǎn)換:XSLT XSL格式化對象:格式化對象:FO2021/3/94l建立一個建立一個XSL樣式表文件樣式表文件:l XSL遵循遵循XML的所有格式和規(guī)則。后綴的所有格式和規(guī)則。后綴名為名為.xsl, 也是由純文本組成。也是由純文本組成。l將將XSL樣式表鏈接至樣式表鏈接至XML文件文件: XML文件使用處理指令文件使用處理指

3、令xml-stylesheet來鏈接來鏈接XSL文件。文件。2021/3/95元素名元素名描述描述xsl:apply-imports應(yīng)用從樣式表中導(dǎo)入的模板規(guī)則應(yīng)用從樣式表中導(dǎo)入的模板規(guī)則xsl:apply-templates對當(dāng)前節(jié)點或者當(dāng)前節(jié)點的子節(jié)點應(yīng)用模板規(guī)則對當(dāng)前節(jié)點或者當(dāng)前節(jié)點的子節(jié)點應(yīng)用模板規(guī)則xsl:attribute生成一個屬性生成一個屬性xsl:attribute-set定義一個屬性的集合定義一個屬性的集合xsl:call-template調(diào)用一個已經(jīng)命名的模板調(diào)用一個已經(jīng)命名的模板xsl:choose用于多條件分支的選擇用于多條件分支的選擇xsl:comment創(chuàng)建一個注

4、釋節(jié)點創(chuàng)建一個注釋節(jié)點xsl:copy創(chuàng)建當(dāng)前節(jié)點的拷貝創(chuàng)建當(dāng)前節(jié)點的拷貝(不包括子節(jié)點與屬性不包括子節(jié)點與屬性)xsl:copy-of創(chuàng)建當(dāng)前節(jié)點的拷貝創(chuàng)建當(dāng)前節(jié)點的拷貝(包括子節(jié)點與屬性包括子節(jié)點與屬性)xsl:element生成一個元素節(jié)點生成一個元素節(jié)點xsl:fallback指定處理器遇到不支持的指定處理器遇到不支持的XSL元素時需要運行的代碼元素時需要運行的代碼xsl:for-each對節(jié)點集中的每一個節(jié)點進行循環(huán)對節(jié)點集中的每一個節(jié)點進行循環(huán)xsl:if用于條件判斷用于條件判斷xsl:import將一個樣式表的內(nèi)容導(dǎo)入到另一個樣式表將一個樣式表的內(nèi)容導(dǎo)入到另一個樣式表(導(dǎo)入者優(yōu)先

5、權(quán)低導(dǎo)入者優(yōu)先權(quán)低)xsl:include包含一個樣式表的內(nèi)容導(dǎo)入到另一個樣式表中包含一個樣式表的內(nèi)容導(dǎo)入到另一個樣式表中(優(yōu)先權(quán)一樣優(yōu)先權(quán)一樣)2021/3/96xsl:message輸出一條信息輸出一條信息xsl:namespace-alias在輸出中為命名空間指定別名在輸出中為命名空間指定別名xsl:number轉(zhuǎn)換為數(shù)值轉(zhuǎn)換為數(shù)值xsl:otherwise條件分支的一種條件分支的一種xsl:output指定文件的輸出格式指定文件的輸出格式xsl:param定義一個本地的或者全局的參數(shù)定義一個本地的或者全局的參數(shù)xsl:preserve-space指定空白的保留格式指定空白的保留格式xs

6、l:processing-instruction在輸出中產(chǎn)生一條處理指令在輸出中產(chǎn)生一條處理指令xsl:sort對輸出結(jié)果排序?qū)敵鼋Y(jié)果排序xsl:stylesheet包含其他樣式表元素的文檔元素包含其他樣式表元素的文檔元素xsl:template對指定的節(jié)點定義一個處理規(guī)則對指定的節(jié)點定義一個處理規(guī)則xsl:text在輸出中生產(chǎn)文本在輸出中生產(chǎn)文本xsl:transform定義一個樣式表的根元素定義一個樣式表的根元素xsl:value-of選擇指定節(jié)點的值選擇指定節(jié)點的值xsl:variable定義一個本地或全局的變量定義一個本地或全局的變量xsl:when用于多條件分支用于多條件分支xsl

7、:with-param定義模板傳遞的參數(shù)定義模板傳遞的參數(shù)2021/3/971.1.stylesheetstylesheet元素元素stylesheet元素是一個包含其他樣式表元素的根元素,是元素是一個包含其他樣式表元素的根元素,是命名空間被聲明的地方。命名空間被聲明的地方。元素的第一個屬性是元素的第一個屬性是XSLXSL的版本。第二個的版本。第二個屬性是屬性是xmlns:xslxmlns:xsl,用來控制用來控制XSLXSL轉(zhuǎn)換推薦的命名空間。還轉(zhuǎn)換推薦的命名空間。還有一個命名空間為有一個命名空間為/1999/XSL/Transform2021/3/98sty

8、lesheet元素有一下屬性元素有一下屬性:default-space 原文件的文本空白是否保留原文件的文本空白是否保留indent-result 在輸出文檔中的文本空白處理在輸出文檔中的文本空白處理language 設(shè)置嵌入于設(shè)置嵌入于XSL樣式表中的腳本語言樣式表中的腳本語言類型。類型。result-ns 輸出部分的樣式。輸出部分的樣式。2021/3/992. template元素元素 template元素元素用用match屬性從屬性從XML選取滿足條選取滿足條件的節(jié)點,征對這些特定的節(jié)點形成一個特定件的節(jié)點,征對這些特定的節(jié)點形成一個特定輸出形式的模板。輸出形式的模板。XSL樣式表中可以

9、有很多樣樣式表中可以有很多樣板規(guī)則,每個必須包含在板規(guī)則,每個必須包含在和和之間。例如:之間。例如:2021/3/910有有2個屬性:個屬性:match 確定什么樣的情況下執(zhí)行此模板。確定什么樣的情況下執(zhí)行此模板。作為一種簡化的說明,作為一種簡化的說明,它的值是一個模式或X P a t h表達式表示應(yīng)該使用哪一個節(jié)點的模板。更明確地說,任何更明確地說,任何X P a t h表達式返回表達式返回一個節(jié)點列表,與一個節(jié)點列表,與m a t c h屬性值相匹配的節(jié)屬性值相匹配的節(jié)點候選。點候選。language 確定在此模板中執(zhí)行什么腳本確定在此模板中執(zhí)行什么腳本語言,其取值與語言,其取值與HTML

10、中的中的SCRIPT標(biāo)記的標(biāo)記的LANGUAGE屬性的取值相同,缺省值是屬性的取值相同,缺省值是Jscript。2021/3/9113.value-of元素元素 獲取來源樹中對應(yīng)節(jié)點的值,然后將值放到結(jié)果樹中獲取來源樹中對應(yīng)節(jié)點的值,然后將值放到結(jié)果樹中,如果,如果select=“”,表示將目前對應(yīng)元素的值顯示出表示將目前對應(yīng)元素的值顯示出來。例如:來。例如: 2021/3/912 有一個叫做有一個叫做select的屬性,它的值是一個的屬性,它的值是一個XPath表達表達式式, ,就是定位節(jié)點樹中節(jié)點的表達式。就是定位節(jié)點樹中節(jié)點的表達式。如:如: H12021/3/913lXSL文件:文件:

11、ex23.xsllXML文件文件: ex23.xml2021/3/9146.2.1 用用for-each處理循環(huán)處理循環(huán) 如在如在XML中有這樣的數(shù)據(jù)中有這樣的數(shù)據(jù):小禹小禹春華春華秋實秋實要讀取這三個作者名字,是一個一個地按要讀取這三個作者名字,是一個一個地按author/name方法來讀取嗎,可有多個這樣方法來讀取嗎,可有多個這樣的的name呀?如果有一種程序性的語句來循環(huán)呀?如果有一種程序性的語句來循環(huán)讀取有多好啊!讀取有多好?。?021/3/915 XSL提供了這樣的具有程序語言性質(zhì)的語句:提供了這樣的具有程序語言性質(zhì)的語句:用它讀取這三個作者名字的方法如下用它讀取這三個作者名字的方法

12、如下: 屬性屬性select,顧名思義,選取,它可以選定顧名思義,選取,它可以選定XML中特定唯一的標(biāo)記,也可以選擇某一類中特定唯一的標(biāo)記,也可以選擇某一類相同的標(biāo)記,我們稱之為結(jié)點集。相同的標(biāo)記,我們稱之為結(jié)點集。2021/3/916見書上的例子見書上的例子:程序代碼程序代碼6-6與程序代碼與程序代碼6-72021/3/9176.2.2 應(yīng)用模板應(yīng)用模板 xsl:apply-templates應(yīng)用樣板規(guī)則,有應(yīng)用樣板規(guī)則,有select屬性屬性,用來設(shè)置只選取某些指定的子元素處理。例如:用來設(shè)置只選取某些指定的子元素處理。例如:2021/3/918見實例程序代碼見實例程序代碼6-82021/

13、3/919XSL程序程序:ex24.xslXML程序程序:ex24.xml2021/3/9202021/3/9212.匹配元素名匹配元素名2021/3/9223.匹配子節(jié)點匹配子節(jié)點2021/3/9232021/3/9244.匹配元素后代匹配元素后代2021/3/9255.匹配屬性匹配屬性2021/3/9266.通過通過ID匹配匹配2021/3/9277.匹配文本節(jié)點匹配文本節(jié)點2021/3/9288.匹配注釋匹配注釋2021/3/9299.匹配操作指令匹配操作指令2021/3/93010.使用使用”或或”操作符操作符2021/3/931Xml文件:文件:ex25.xmlDTD文件:文件:ex

14、25.dtdXsl文件:文件:ex25-1.xsl, ex25-2.xsl2021/3/9322021/3/9336.4.2 XPath軸線軸線2021/3/9346.4.3 基本的基本的XPath表達式表達式軸線軸線:元素元素測試測試軸線軸線:屬性屬性例子:例子:見書上表見書上表63,第,第227頁。頁。2021/3/9356.4.4 基本的基本的XPath縮寫表達式縮寫表達式表達式縮寫self:node.parent:node.child:namenameattribute:namename/descendant-or-self:node()/例子:例子:見書上表見書上表65,第,第227頁。頁。2021/3/936Xml文件:文件:ex26.xmlXsl文件:文件:ex26.xsl2021/3/9372021/3/9386.5.2 字符串類型字符串類型2021/3/9392021/3/9406.5.3 數(shù)值類型數(shù)值類型2021/3/9416.5.4 布爾類型布爾類型函數(shù)函數(shù)描述描述語法語法boolean()轉(zhuǎn)化為布爾類型

溫馨提示

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

評論

0/150

提交評論