<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元素,無論它的層次多深。