3.1 xsl:template和xsl:apply-templates 模板(template)是XSLT中最重要的概念之一。XSLT文件就是由一個一個的模板組成,任何一個XSLT文件至少包含一個模板。模板的概念就象是搭積木;你如果是程序員,也可以將模板看作一個方法,一個類,或者一個模塊。它們可以被拼裝組合,也可以單獨成塊,不同的模板控制不同的輸出格式。 xsl:template的語法是: <xsl:template xsl:template的作用是定義一個新模板。屬性中name,priority,和mode用來區(qū)別匹配同一節(jié)點的不同模板。它們不是常用的屬性。match屬性則控制模板的匹配模式(pattern),匹配模式是用來定位XML源文檔中哪一個節(jié)點被模板處理。一個模板匹配一個節(jié)點。我們用一個例子來幫助理解: <xsl:template match="para"> 下面的語句寫法說明模板匹配所有的para元素和所有的chapter元素: <xsl:template match="(chapter|para)"> 下面的語句寫法說明模板匹配所有的父節(jié)點為chapter元素的para元素: <xsl:template match="chapter//para"> 下面的語句寫法說明模板匹配根節(jié)點: <xsl:template match="/"> 我們再來看apply-templates語法: <xsl:apply-templates xsl:apply-templates用來執(zhí)行那一個節(jié)點被模板具體處理。你可以將它理解為程序中調(diào)用子函數(shù)。select屬性用來定義確切的節(jié)點名稱。xsl:apply-templates總是包含在xsl:template元素中,象這樣: <xsl:template match="/"> 這段代碼說明摸板匹配整個文檔(根節(jié)點),具體執(zhí)行時處理根節(jié)點下所有para元素。 <xsl:template match="para"> 而這一段代碼則表示摸板匹配para節(jié)點,所有para下的子元素都將被處理。 |
溫馨提示:喜歡本站的話,請收藏一下本站!