freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[理學(xué)]第五章xslt(已修改)

2025-01-04 12:37 本頁面
 

【正文】 第五章 樣式表轉(zhuǎn)換語言 XSLT( 2) 一. 模板的模式選擇 二. 為輸出元素指定屬性值 三. 變量和參數(shù) 四. 輸出序號 五. XML數(shù)據(jù)的相互引用 六. 多文檔轉(zhuǎn)換 七. 其它問題 一、模板的模式選擇 ? 模板 xsl:template 和模板應(yīng)用 xsl:applytemplates都有一個屬性 mode,這個屬性的屬性值是一串字符,利用這個屬性可以對 XML文檔中的同一個元素分別應(yīng)用幾個不同的模板。 ? 例如: xsl:template match=‖foo‖ mode=‖x‖ … … /xsl:template xsl:applytemplates select=‖//foo‖ mode=‖x‖ / ? 屬性 mode使 xsl:applytemplates和 xsl:template配對,這種情況下兩者必須都有屬性 mode,并且 mode的屬性值必須相同。如果 xsl:applytemplates沒有屬性 mode,則只應(yīng)用那些同樣沒有 mode屬性的 xsl:template。另外,xsl:template如果沒有指定匹配結(jié)點集的 match屬性,則不能使用 mode屬性。 ? 【 例 1】 :對于 ,分兩次顯示每本書的信息,第一次只顯示標(biāo)題和作者,第二次顯示標(biāo)題、類別、出版社和出版日期。 xsl:template match=book mode=who p標(biāo)題: 《 xsl:valueof select=title /》 , 作者: xsl:applytemplates select=authors //p /xsl:template xsl:template match=book mode=publish p標(biāo)題: 《 xsl:valueof select=title /》 , 類別: xsl:valueof select=@category /, 出版社: xsl:valueof select=publisher /, 出版日期: xsl:valueof select=date //p /xsl:template ? 在一個匹配根結(jié)點的模板中分別應(yīng)用上述兩個模板: xsl:template match=/ html body xsl:applytemplates select=//book mode=who / hr size=3/ xsl:applytemplates select=//book mode=publish / /body /html /xsl:template ? 對于 mode=who的模板,產(chǎn)生的 HTML標(biāo)記為: p標(biāo)題: 《 人工智能及其應(yīng)用 》 ,作者:蔡自興 徐光祐 /p … … ? 對于 mode=publish的模板,產(chǎn)生的 HTML標(biāo)記為: p標(biāo)題: 《 人工智能及其應(yīng)用 》 ,類別: TP18,出版社:清華大學(xué)出版社,出版日期: 1996年 5月 /p … … 二、為輸出元素指定屬性值 ? 【 例 2】 設(shè)某個 XML文檔的部分內(nèi)容如下: links ImageDirimages/ImageDir link infoThe web side of foo Cor./info image/image url /link links ? 希望產(chǎn)生如下 HTML標(biāo)記: image src=images\ /image a href= The web side of foo Cor./a ? 有兩種方法,一種是利用 XSLT的屬性標(biāo)記,另一種是利用 XSLT的屬性值模板。 1. XSLT屬性標(biāo)記 ? 屬性標(biāo)記的語法是: xsl:attribute name = 屬性名 namespace = 命名空間 URI ! Content: template /xsl:attribute ? 其功能是為某個輸出元素生成屬性和屬性值,其中name指出屬性名, namespace指出屬性名的命名空間,如果不必指出命名空間,則 namespace可省略。 ? xsl:attribute的起始標(biāo)簽和結(jié)束標(biāo)簽之間則是 XSLT的模板或指令標(biāo)記,用來產(chǎn)生屬性值。 ? xsl:attribute使用時直接包含在輸出元素中,并且必須作為第一個子元素。 對于例 2,可以用如下方法: xsl:template match=link p image xsl:attribute name=src xsl:valueof select=/links/ImageDir /\xsl:valueof select=image / /xsl:attribute /image a xsl:attribute name=href xsl:valueof select=url / /xsl:attribute xsl:valueof select=info / /a /p hr size=3 / /xsl:template 2. XSLT屬性值模板 ? 屬性值模板是用花括號“ {‖和“ }‖括起來的一個 XPath表達(dá)式,花括號連同其中的表達(dá)式運算的結(jié)果是一個字符串,相當(dāng)于對表達(dá)式指定的結(jié)點執(zhí)行 string()函數(shù)的結(jié)果。 ? 例如,對于例 2,可采用如下方法: xsl:template match=link pimage src={/links/ImageDir}\{image} / a href={ url }xsl:valueof select=info //a /p hr size=3 / /xsl:template ? 輸出的 HTML: pimage src=images\/image a href= web side of foo Cor./a/p 三、變量和參數(shù) ? XSLT可以使用變量和參數(shù),類似于通用程序設(shè)計語言中的變量和參數(shù),變量用來存放數(shù)據(jù)供多次使用,參數(shù)為模板應(yīng)用而設(shè)置。 ? XSLT的模板類似于程序設(shè)計語言中的子程序,而模板應(yīng)用 xsl:applytemplates則類似于調(diào)用子程序。模板中可以設(shè)置參數(shù),然后在應(yīng)用模板時指定參數(shù)的值。 ? 但是,與程序設(shè)計語言不同, XSLT中變量和參數(shù)存放的值可以是字符串,也可以是結(jié)點集或模板應(yīng)用之后的轉(zhuǎn)換結(jié)果。 ? 變量和參數(shù)可以在頂層設(shè)置,即作為根元素xsl:stylesheet的子元素,也可以在某個模板中設(shè)置。 ? 頂層的變量和參數(shù)可以在整個 XSLT文檔中使用,在模板中設(shè)置的變量和參數(shù)則只能從設(shè)置的位置開始到模板結(jié)束標(biāo)簽之前有效??蓪φ粘绦蛟O(shè)計語言的變量作用域來理解,頂層定義的變量和參數(shù)相當(dāng)于全局變量,而模板中定義的變量和參數(shù)相當(dāng)于局部變量。 ? 如果在模板中設(shè)置,則變量可在模板的任何位置,而參數(shù)必須在模板的開頭。 ? 參數(shù)如果設(shè)置在某個樣式表的頂層,則在應(yīng)用這個樣式表時可傳遞參數(shù)的值。傳遞可利用 JSP、JavaScript等語言所編寫的程序?qū)崿F(xiàn),具體的方法沒有規(guī)定,因為已經(jīng)超出 XSLT規(guī)范的范圍。 1.變量 ? 設(shè)置變量有兩種語法,第一種語法為: xsl:variable name=variablename select=expression / ? 其中 variablename是變量名稱, expression是一個表達(dá)式,這個表達(dá)式的值就是變量的值。 ? 第二種語法為: xsl:variable nam
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1