正文
簡介
每個模板含有當某個指定的節點被匹配時所套用的規則。
元素
<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 代碼。
最後兩行定義了模板的結尾,及樣式表的結尾。
C++程式設計 模板
函式聲明格式
template <class(或typename) any(或任意符合規則的名稱)>(如果還有其他類型名,就用逗號隔開)
函式定義和聲明格式基本相同,形參表要加上形參名,分號改為函式體。
聲明的例子:
template <class type1, class type2>type1 add(type1,type2);template <class type1, class type2>type1 add(type1 a,type2 b){return a + (type1)b;}
也可以直接定義函式,不聲明。
說明: template是一個聲明模板的關鍵字,表示聲明一個模板關鍵字class不能省略,如果
形參類型多於一個 ,每個形參前都要加class <類型 形參表>可以包含基本數據類型或類類。
#include <iostream>using std::cout;using std::endl;//聲明一個函式模版,用來比較輸入的兩個相同數據類型的參數的大小,class也可以被typename代替,//T可以被名稱字代替,只要符合命名規則即可。template <class T>T min(T& x,T& y){ return(x<y)?x:y;}int main( ){ int n1 = 2,n2 = 10; double d1 = 1.5,d2 = 5.6; cout<< "較小整數:"<<min(n1,n2)<<endl; cout<< "較小實數:"<<min(d1,d2)<<endl; system("PAUSE"); return 0;}
程式運行結果:
程式分析:main()函式中定義了兩個
整型變數n1 , n2 兩個雙精度類型變數d1 , d2然後調用min( n1, n2); 即實例化
函式模板T min(T x, T y)其中T為int型,求出n1,n2中的最小值.同理調用min(d1,d2)時,求出d1,d2中的最小值.