XSLT <xsl:template> 元素
XSL 樣式表由一個(gè)或多套被稱(chēng)為模板(template)的規(guī)則組成。
每個(gè)模板含有當(dāng)某個(gè)指定的節(jié)點(diǎn)被匹配時(shí)所應(yīng)用的規(guī)則。
<xsl:template> 元素
<xsl:template> 元素用于構(gòu)建模板。
match 屬性用于關(guān)聯(lián) XML 元素和模板。match 屬性也可用來(lái)為整個(gè)文檔定義模板。match 屬性的值是 XPath 表達(dá)式(舉例,match="/" 定義整個(gè)文檔)。
好了,讓我們看一下上一節(jié)中的 XSL 文件的簡(jiǎn)化版本:
<?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>
代碼解釋?zhuān)?/h3>
由于 XSL 樣式表本身也是一個(gè) XML 文檔,因此它總是由 XML 聲明起始:
<?xml version="1.0" encoding="ISO-8859-1"?>
下一個(gè)元素,<xsl:stylesheet>,定義此文檔是一個(gè) XSLT 樣式表文檔(連同版本號(hào)和 XSLT 命名空間屬性)。
<xsl:template> 元素定義了一個(gè)模板。而 match="/" 屬性則把此模板與 XML 源文檔的根相聯(lián)系。
<xsl:template> 元素內(nèi)部的內(nèi)容定義了寫(xiě)到輸出結(jié)果的 HTML 代碼。
最后兩行定義了模板的結(jié)尾,及樣式表的結(jié)尾。
以上轉(zhuǎn)換的結(jié)果類(lèi)似這樣:

此例的結(jié)果有一點(diǎn)小缺陷,因?yàn)閿?shù)據(jù)沒(méi)有從 XML 文檔被復(fù)制到輸出。
在下一節(jié),您將學(xué)習(xí)到如何使用 <xsl:value-of> 元素從 XML 元素選取值。