XSLT <xsl:template> 元素

XSL 樣式表由一個或多套被稱為模板(template)的規則組成。

每個模板含有當某個指定的節點被匹配時所應用的規則。

<xsl:template> 元素

<xsl:template> 元素用于構建模板。

match 屬性用于關聯 XML 元素和模板。match 屬性也可用來為整個文檔定義模板。match 屬性的值是 XPath 表達式(舉例,match="/" 定義整個文檔)。

好了,讓我們看一下上一節中的 XSL 文件的簡化版本:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
 <html>
 <body>
   <h2>My CD Collection</h2>
   <table border="1">
     <tr bgcolor="#9acd32">
       <th>Title</th>
       <th>Artist</th>
     </tr>
     <tr>
       <td>.</td>
       <td>.</td>
     </tr>
   </table>
 </body>
 </html>
</xsl:template>
</xsl:stylesheet>

代碼解釋:

由于 XSL 樣式表本身也是一個 XML 文檔,因此它總是由 XML 聲明起始:

<?xml version="1.0" encoding="ISO-8859-1"?>

下一個元素,<xsl:stylesheet>,定義此文檔是一個 XSLT 樣式表文檔(連同版本號和 XSLT 命名空間屬性)。

<xsl:template> 元素定義了一個模板。而 match="/" 屬性則把此模板與 XML 源文檔的根相聯系。

<xsl:template> 元素內部的內容定義了寫到輸出結果的 HTML 代碼。

最后兩行定義了模板的結尾,及樣式表的結尾。

以上轉換的結果類似這樣:

查看XML文件查看 XSL 文件查看結果

此例的結果有一點小缺陷,因為數據沒有從 XML 文檔被復制到輸出。

在下一節,您將學習到如何使用 <xsl:value-of> 元素從 XML 元素選取值。