XSL 樣式表由一個(gè)或多套被稱為模板(template)的規(guī)則組成。
每個(gè)模板含有當(dāng)某個(gè)指定的節(jié)點(diǎn)被匹配時(shí)所應(yīng)用的規(guī)則。
<xsl:template> 元素用于構(gòu)建模板。
match 屬性用于關(guān)聯(lián) XML 元素和模板。match 屬性也可用來為整個(gè) XML 文檔定義模板。match 屬性的值是 XPath 表達(dá)式(舉例,match="/" 定義整個(gè)文檔)。
好了,讓我們看一下上一章中的 XSL 文件的簡(jiǎn)化版本:
<?xml version="1.0" encoding="UTF-8"?>
<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 樣式表本身也是一個(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)容定義了寫到輸出結(jié)果的 HTML 代碼。
最后兩行定義了模板的結(jié)尾及樣式表的結(jié)尾。
這個(gè)實(shí)例的結(jié)果有一點(diǎn)小缺陷,因?yàn)閿?shù)據(jù)沒有從 XML 文檔被復(fù)制到輸出。在下一章中,您將學(xué)習(xí)到如何使用 <xsl:value-of> 元素從 XML 元素選取值。
更多建議: