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

正文內(nèi)容

[理學(xué)]第五章xslt(參考版)

2024-12-26 12:37本頁面
  

【正文】 例如,對于上例,可以這樣產(chǎn)生處理指令: xsl:processinginstruction name= xmlstylesheet type=text/xsl href= /xsl:processinginstruction 6.輸出注釋 ? 需要輸出注釋可使用 xsl:ment指令,其定義為: xsl:ment ! Content: template /xsl:ment ? 例如, xsl:ment This is a ment /xsl:ment ? 將輸出: ! This is a ment 。 5.輸出處理指令 ? 對于 XML到 XML的轉(zhuǎn)換,可能需要輸出處理指令。xsl:copy的定義為: xsl:copy useattributesets = qnames ! Content: template /xsl:copy ? 象 xsl:element一樣,可以用屬性 useattributesets設(shè)置輸出結(jié)點的屬性。在輸出的 font元素中包含子元素,元素名稱由 mark元素決定,內(nèi)容由 text元素決定。 ? 【 例 10】 動態(tài)輸出元素,并給輸出元素加上屬性。對于如下XML文檔 ,按照其內(nèi)容輸出一個 font元素,這個元素包含三個屬性 face、 size和 color,屬性值由 中的元素 face、 size和 color指定。 ? xsl:attributeset可以包含其它屬性集中所定義的屬性, useattributeset屬性指出所包含的屬性集名稱。 ? xsl:attributeset的內(nèi)容是一條或多條 xsl:attribute指令,每條指令產(chǎn)生一個屬性及其值。屬性 useattributeset指出元素有哪些屬性及其屬性值,這需要使用另一條 XSLT指令 xsl:attributeset。 name的值是所輸出元素的名稱,可以是字符串,也可以是用花括號括起來的表達(dá)式(即屬性值模板),這使得我們可以動態(tài)產(chǎn)生元素名稱。例如,如果輸出元素的名稱來自被轉(zhuǎn)換的 XML文件的某個元素,則我們將沒有辦法在模板中直接寫出輸出元素,而只能在轉(zhuǎn)換時動態(tài)地產(chǎn)生輸出元素。但注意如果是轉(zhuǎn)換為 HTML,則瀏覽器在顯示時會刪除“多余”的空格。對于其中的轉(zhuǎn)義字符,屬性disableoutputescaping的值決定是否關(guān)閉自動轉(zhuǎn)義,默認(rèn)值是 no。 – 在模板中寫上 仍然不行,因為提交給 XSLT處理器的字符將是 , XSLT處理器自動進(jìn)行轉(zhuǎn)義,仍然是輸出 。例如,進(jìn)行 XML到HTML的轉(zhuǎn)換時,可能需要輸出 HTML的轉(zhuǎn)義符 (代表空格),以下幾種方法是馬上想得到的,但都行不通: – 直接在模板中寫上 是不行的,因為樣式表也是 XML文檔,必須符合 XML規(guī)范,而 并非 XML預(yù)定義的實體引用。來代替,這種處理稱為“轉(zhuǎn)義”。而 、 、amp。這些符號,就會有些問題。例如,在當(dāng)前樣式表的開頭: xsl:stylesheet version= xmlns:xsl= xmlns:ax=dummy xsl:namespacealias stylesheetprefix=ax― resultprefix=xsl / ? 然后在這張樣式表中,凡是輸出的 XSLT標(biāo)記,都使用前綴 ax。 xsl:namespacealias定義為: xsl:namespacealias stylesheetprefix = prefix | default resultprefix = prefix | default / ? 其中 stylesheetprefix的屬性值指出在當(dāng)前樣式表中使用的前綴,resultprefix的屬性值指出輸出的前綴。這時我們需要輸出 XSLT標(biāo)記,但這些標(biāo)記不能使用 XSLT命名空間前綴,否則會被當(dāng)成 XSLT指令,但最后的輸出又必須使這些輸出標(biāo)記使用 XSLT命名空間。 ? 如果輸出的標(biāo)記名稱使用前綴,前綴也照樣輸出。 ? 可直接將合并的 XML結(jié)點轉(zhuǎn)換為 HTML,例如: xsl:stylesheet version= xmlns:xsl= xsl:template match=/ htmlbody xsl:applytemplates / /body/html /xsl:template xsl:template match=docs xsl:foreach select=document(doc) xsl:applytemplates select=/* / hr size=3 / /xsl:foreach /xsl:template xsl:template match=//book … … /xsl:template xsl:template match=//publish … … /xsl:template /xsl:stylesheet 七、其它問題 1. 輸出元素的命名空間 2. 特殊文字輸出 3. 動態(tài)創(chuàng)建輸出元素 4. 復(fù)制輸出 5. 輸出處理指令 6. 輸出注釋 1.輸出元素的命名空間 ? 如果 XSLT將輸入的 XML文檔轉(zhuǎn)換為另一種結(jié)構(gòu)的XML文檔,則輸出文檔中的標(biāo)記可能需要指出命名空間。 ? 樣式表內(nèi)容如下: xsl:stylesheet version=― xmlns:xsl= xsl:template match=docs all xsl:foreach select=document(doc) xsl:copyof select=/* / /xsl:foreach /all /xsl:template /xsl:stylesheet ? 結(jié)果將使得 有后裔結(jié)點都被復(fù)制過來,作為根元素 all的子結(jié)點。 ? 【 例 9】 有一文檔 ,內(nèi)容如下: ?xml version= encoding=GBK ? ?xmlstylesheet type=text/xsl href= ? docs doc doc /docs ? 其中元素 docs記錄了兩個 XML文件的 URI。對于前者,字符串應(yīng)為URI,函數(shù)將按照這個 URI從網(wǎng)絡(luò)上或本地硬盤上獲得文件。 2.使用多個 xml文件 ? 對于被轉(zhuǎn)換的 XML文檔,也可以多個合并在一起進(jìn)行轉(zhuǎn)換,這需要使用 document()函數(shù)。其結(jié)果是,按 example,但是處理結(jié)果包含在 div元素中。 ? 例如,在上述例子中改用 xsl:import,則當(dāng) 的模板同時匹配一個結(jié)點集時,將采用,也就是說,當(dāng)前文件的模板優(yōu)先,但是,在 ,我們?nèi)钥梢杂?xsl:applyimports /調(diào)用。 ? 例如,樣式表文件 xsl:include引入: ! xsl:stylesheet version= xmlns:xsl= xsl:include href= / … /xsl:stylesheet ? xsl:stylesheet中的內(nèi)容將全部被引入到 ,并且就在 xsl:include所在的位置上。這兩條指令都是頂層指令,即它們只能作為樣式表中 xsl:stylesheet的子元素。 ? 引入可以采用兩種 XSLT指令: xsl:include和xsl:import。 ? 也可以多個 XML文檔合成一個 XML文檔,然后利用樣式表進(jìn)行轉(zhuǎn)換。 ? 需要使用變量是因為,在 document(?‘) 得到的樹中,當(dāng)前結(jié)點已變成 ,并且我們無法在一個文檔樹中引用另一棵文檔樹中的結(jié)點。pub39。 ? 為此調(diào)用函數(shù) document(),這個函數(shù)的參數(shù)是 x
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1