DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> XSL的模板規則
XSL的模板規則
編輯:XML詳解     
<xsl:template>標簽內的文本內容描述了轉換結果的形式,稱為輸出模板。屬性match的取值把模板規則與指定的元素或屬性相比較,只有匹配的DOM節點才會被處理,其余的節點將被忽略。整個過程中最先匹配的是樹的根節點,根節點用“/”表示:

<xsl:template match=“/”>
output template for root element
</xsl:template>

  然後匹配其他節點,此時,只要在引號中指明要處理的元素對象名稱即可。如果在引號中出現的是“*”,那麼表示該規則適用於所有的未單獨指定處理的元素節點。比如下例中的第二個模板就表示要處理除<Employee>元素之外的所有節點:

<xsl:template match=“Employee”>
output template
</xsl:template> 
<xsl:template match=“*”>
output template
</xsl:template>

  此外,XSL中還可以使用路徑指示符來指定一些特殊位置的元素與模板相匹配。“//”代表任意深度位置,如<xsl:template match=“//Employee”>用來匹配文檔中任何位置的<Employee>元素;而如果是<xsl:template match=“Employee//Name”>,則表明是匹配<Employee>元素的後繼節點中所有<Name>元素。另外一個路徑指示符是“/”,表示直接的父子節點關系。將剛才例子中的“//”換為“/”,就意味著匹配的是<Employee>元素子節點中的<Name>元素。

  很顯然,某些樹節點在XSL中可能會對應多個模板,在這種情況下,只有最後一個對應模板會生效,前面的模板規則都會被XSL處理器忽略掉。

  "/"是表示當前文檔的節點,類似DOS目錄分割符。例如:/PEOPLE表示選擇根節點下的PEOPLE元素;PEOPLE/PERSON表示選擇PEOPLE元素下所有的PESON子元素。

  "//"則表示當前文檔所有的節點。類似查看整個目錄。例如://PEOPLE表示選擇文檔中所有的PEOPLE元素,無論它在什麼層次;PEOPLE//PERSON表示在PEOPLE元素下所有的PERSON元素,無論它的層次多深。

  • [1] [2] 下一頁 
  • -
  • XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
    Copyright © DIV+CSS佈局教程網 All Rights Reserved