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

正文內(nèi)容

[理學(xué)]第五章 xslt-預(yù)覽頁(yè)

 

【正文】 image src={/links/ImageDir}\{//image[1]} / /xsl:variable … … xsl:template match=link pxsl:copyof select=$x / a href={ url }xsl:valueof select=info //a/p hr size=3 / /xsl:template /xsl:stylesheet ? 在例 5中,我們?cè)O(shè)置了一個(gè)頂層變量 x,其中包含的模板產(chǎn)生如下輸出: image src=images\/image 這個(gè)輸出被保存在變量 x中。 四、輸出序號(hào) ? 標(biāo)記 xsl:number可用來(lái)自動(dòng)產(chǎn)生序號(hào),序號(hào)按照文檔順序計(jì)算。 ? 例如,我們?cè)?,其中涉及到出版社,我們想將每個(gè)出版社的地址、電話號(hào)碼等信息也記錄下來(lái)。 1.同一個(gè)文檔內(nèi)的引用 ? 【 例 7】 在 ,記錄每個(gè)出版社記錄名稱、地址、郵編和電話。 ID屬性就是一個(gè)現(xiàn)成的解決辦法。 ? 相應(yīng)的 XSLT模板: xsl:template match=book p標(biāo)題: 《 xsl:valueof select=title /》 , 類別: xsl:valueof select=category //p p作者: xsl:applytemplates select=authors //p xsl:applytemplates select=id(publisher/ref) / /xsl:template xsl:template match=publish p出版社: xsl:valueof select=name /, 電話: xsl:valueof select=telephone //p p地址: xsl:valueof select=―addr‖ /, 郵編: xsl:valueof select=zipcode //p /xsl:template ? 其中用到了 XPath的函數(shù) id()(參見第四章 )。 ? 按照出版社名稱引用最簡(jiǎn)單的方法是使用謂詞,例如,如果書籍信息和出版社信息在同一個(gè)文件中,則可以在 book模板中這樣調(diào)用 publish模板: xsl:variable name=x select=publisher / xsl:applytemplates select=//publish[name=$x] / ? 但這樣每次都要掃描所有的 publish結(jié)點(diǎn),從中過濾出所需的結(jié)點(diǎn),效率太低。 ? xsl:key為 pattern指定的結(jié)點(diǎn)集中的每個(gè)結(jié)點(diǎn)建立一個(gè)索引鍵,每個(gè)索引鍵的鍵名都是 qname指定的名稱,但鍵值則各自由 expression的計(jì)算結(jié)果決定。 object可以是 XPath表達(dá)式指定的結(jié)點(diǎn),結(jié)點(diǎn)的字符串值作為鍵值。 ? : publishers publish name清華大學(xué)出版社 /name addr北京清華大學(xué)學(xué)研大廈 /addr zipcode100084/zipcode telephone01062770175/telephone /publish … … /publishers 一個(gè)應(yīng)用于 : xsl:stylesheet version=― xmlns:xsl= xsl:key name=pub match=//publish use=name / xsl:template match=book … … xsl:variable name=x select=publisher / xsl:foreach select=document(39。,$x) / /xsl:foreach /xsl:template xsl:template match=publish … … /xsl:template … … /xsl:stylesheet ? 現(xiàn)在 publish元素是在另一個(gè)文檔中,因此首先必須解析文檔 ,生成對(duì)應(yīng)的結(jié)點(diǎn)樹以便處理。,$x) / 指定應(yīng)用模板的結(jié)點(diǎn) publish。 1.使用多個(gè) xsl文件 ? 一個(gè)樣式表可以引入另外一些樣式表所定義的內(nèi)容。 ? xsl:include將引入的樣式表中根元素之后的所有內(nèi)容放置到這條指令所在的位置上。 ? 例如,在 : xsl:template match=example … /xsl:template ? 在 ,用 xsl:import href= /引入,并且在 : xsl:template match=example div style=border: soloid red xsl:applyimports / /div /xsl:template ? 于是在處理結(jié)點(diǎn)集 example時(shí),由于覆蓋,將應(yīng)用,而模板中的 xsl:applyimports指令將使 XSLT處理器仍調(diào)用引進(jìn)的 。這個(gè)函數(shù)的參數(shù)可以是一個(gè)字符串,也可以是一個(gè)結(jié)點(diǎn)集。為其設(shè)計(jì)適當(dāng)?shù)臉邮奖?,將這兩個(gè) XML文件合并在一起。 ? 當(dāng) XSLT處理器執(zhí)行樣式表時(shí),其中所有加有XSLT命名空間前綴的標(biāo)記將被作為 XSLT指令而執(zhí)行,其它命名空間(除非被聲明為擴(kuò)展的 XSLT空間)的標(biāo)記,包括無(wú)命名空間的標(biāo)記,將被原樣復(fù)制輸出。 ? 解決的辦法是在當(dāng)前樣式表中,讓輸出的 XSLT標(biāo)記使用另外一個(gè)命名空間前綴,然后使用 xsl:namespacealias指令,使得輸出后再轉(zhuǎn)換為 XSLT空間前綴。 2.特殊文字輸出 ? 樣式表模板中出現(xiàn)的文字都會(huì)被復(fù)制輸出,但如果要輸出空格、 、 、 amp。這些符號(hào)則必須用 XML定義的字符引用 、 、amp。 – 利用 CDATA片段,寫成 ![CDATA[ ]],這樣是可以避開XML的語(yǔ)法檢查了,但由于 XSLT處理器自動(dòng)進(jìn)行轉(zhuǎn)義,所以最終的輸出將是 。將 disableoutputescaping設(shè)置為 yes就可以輸出 : xsl:text disableoutputescaping=yes /xsl:text ? 另外,包含在 xsl:text中的空格也將被保留,因此xsl:text /xsl:text也同樣可以輸出空格。這種情況需要使用 xsl:element指令,其定義為: xsl:element name = { qname } namaspace = { urireference } useattributeset = qnames ! Content: template /xsl:element ? 其中屬性 name是必須的,其它兩個(gè)屬性是可選的。 xsl:attributeset name = {qname } useattributeset = qnames ! Content: xsl:attributes* /xsl:attributeset ? xsl:attributeset的功能是產(chǎn)生一個(gè)屬性集,其中的每個(gè)屬性由 xsl:attribute指令產(chǎn)生。 ? 【 例 10】 動(dòng)態(tài)輸出元素,并給輸出元素加上屬性。對(duì)于如下 XML文檔,按照其內(nèi)容輸出一個(gè) font元素,這個(gè)元素包含三個(gè)屬性face、 size和 color,屬性值由 face、 size和 color指定。 ? 另一條復(fù)制指令 xsl:copyof select=expression / 則相反,它復(fù)制 expression指定的結(jié)點(diǎn)及其屬性和所有后裔結(jié)點(diǎn)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1