我正在查看一箇舊的xsl文件,並試圖瞭解爲什麼原作者已將<xsl:template>
元素的數量定義爲包含match
屬性的自關閉標記。在下面我的問題的例子是在問候<xsl:template match="title" />
:自動關閉xsl:模板標籤?
XML
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
XSL
<?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>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="cd">
<p>
<xsl:apply-templates select="title"/>
<xsl:apply-templates select="artist"/>
</p>
</xsl:template>
<xsl:template match="title" />
<xsl:template match="artist">
Artist: <span style="color:#00ff00">
<xsl:value-of select="."/></span>
<br />
</xsl:template>
</xsl:stylesheet>
由於標籤是自閉,但顯然沒有內容在<xsl:template \>
。這樣做的意義何在?這是一種通過匹配屬性「隱藏」與template
關聯的XML數據的技術嗎?