template
XSL 样式表由一个或多套被称为模板(template)的规则组成。
基本介绍
- 中文名:template
- 举例:match="/" 定义整个文档
- 简化版本:<xsl:template match="/">
- 用于:构建模板
正文
简介
每个模板含有当某个指定的节点被匹配时所套用的规则。
元素
<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中的最小值.