XSL学习笔记6 XSLT内置模板规则
生活随笔
收集整理的這篇文章主要介紹了
XSL学习笔记6 XSLT内置模板规则
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
XSL學習筆記6 XSLT內置模板規則 定義正確的模板規則來匹配XML樹中的節點是XSLT應用的關鍵。為了讓源文檔樹的節點在沒有明確匹配規則的情況下,能夠被遞歸處理,XSLT定義了幾個內置的模板規則,可以將其看作是XSL式樣表文檔的默認模板規則。 內置模板規則就好像是在式樣表之前被隱含地導入的一樣,與所有其他的模板規則相比,內置模板規則具有較低的導入優先級。因此,可以通過在樣式表文檔中包含一個顯式的模板規則來覆蓋內置模板規則。 內置模板有如下幾個: 1、應用所有的元素節點和根節點 <xsl:template match="*|/"> ?<xsl:apply-templates/> <xsl:tempalte> 注意:如果不想應用內置的模板規則,只要顯式的為某個元素定義模板規則即可,這樣就覆蓋了內置的模板規則。不過要注意的是,除非在匹配模板規則的模板中調用了<xsl:apply-templates/>,否則對于該元素的所有子元素,默認模板規則不再起作用。 2、應用所有的元素節點和根節點,針對的是具有mode屬性的<xsl:apply-template/>元素 <xsl:template match="*|/" mode="m"> ?<xsl:apply-templates mode="m"/> <xsl:tempalte> 當在式樣表文檔中,使用了具有mode屬性的<xsl:apply-templates>元素,那么XSLT處理器就會自動加入這樣一條模板規則:將<xsl:tempalte>元素的mode屬性值設置為<xsl:apply-templates>元素的mode屬性的值。 3、應用雨文本和屬性節點,在結果樹中輸出文本和屬性節點的值,如下所示: <xsl:template match="text()|@*"> ?<xsl:apply-templates select = "."/> <xsl:tempalte> 因為有了第一條和第三條內置模板規則,所以即使在樣式表中沒有編寫任何的模板規則,仍然會有元素文本內容(作為文本節點)輸出。不過要注意的是,如果沒有對屬性節點應用<xsl:apply-templates>元素,那么這條模板規則對屬性是不會起作用的。 4、應用于處理指令和注釋,如下所示: <xsl:template mach="processing-instruction()|comment()"/> 這表規則對處理指令和注釋節點沒有做任何處理,意味著在結果樹中不會輸出源文檔樹中的處理指令和注釋的任何信息。 另外,在XSLT中,應用于名稱空間節點的內置模板規則也是什么都不做,也沒有任何的模板可以匹配名稱空間節點。
總結
以上是生活随笔為你收集整理的XSL学习笔记6 XSLT内置模板规则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KL距离(Kullback-Leible
- 下一篇: 织梦dedecms5.7二级域名文章图片