每个模板含有当某个指定的节点被匹配时所应用的规则。
match 属性用于关联 XML 元素和模板。match 属性也可用来为整个文档定义模板。match 属性的值是 XPath 表达式(举例,match="/" 定义整个文档)。
如果存在为相同元素定义的多个处理方法,那么用 mode 可以区分它们。
注意:根据实际测试发现,如果某个节点元素没有定义其template,或者定义其template为空
3、
4、
5、
如需对结果进行排序,只要简单地在 XSL 文件中的
6、
语法:
...
...如果条件成立则输出...
...
如需添加有条件的测试,请在 XSL 文件中的
7、
XSLT
语法:
... 输出 ...
... 输出 ....
8、
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Title:
Artist:
注意:如果当前节点的直接子节点没有匹配的模板,则默认会输出该元素的文本。
如果当前节点的直接子节点没有匹配的模板,则处理器会选择其孙子节点的模板进行处理。
9、XSLT
用于向输出元素(非xsl:element创建的元素)添加属性。
注释:
<!-- Content:template -->
name属性为必须的,而namespace为可选的。
例子:
10、
name="name" use-attribute-sets="name-list"> <!-- Content:xsl:attribute* -->
name属性为必须,而use-attribute-sets为可选的,定义引用其他的属性集定义,多个使用空格分隔。
11、
<!-- Content:xsl:with-param* -->
在希望调用的时候直接调用即可,无需节点或者属性的匹配,也就是说,它会忽略所调用的模板(模板名称为templatename)的匹配模式(match)。
与apply-template元素不一样,那个是对当前元素的所有子元素进行调用指定的模板(根据匹配条件)。
或者说:apply-template是从元素匹配的角度进行模板的调用,而call-template则是根据模板名称进行模板调用。
Comment:它不同于apply-template是对当前的每个符合select的元素都循环调用对应的模板,而call-template更像是函数调用,因为它可以传递参数,对于需要所调用模板处理的元素可以使用
12、
注释:
<!-- Content:template -->
13、
name="name" select="expression"> <!-- Content:template -->
其中,name是必须的,而select为xpath,是参数的默认值。
Title:
无论是
注意:
14、
namespace="URI"
use-attribute-sets="namelist">
<!-- Content:template -->
name为必须,namespace、use-attribute-sets为可选,同时name及namespace可为表单式,由处理器在运行时运算得到结果。
注意:由XSL:element所创建的元素,为其添加属性必须使用use-attribute-sets来指定,而不能直接使用xsl:attribute来为其添加属性。
15、
定义和用法
该元素能够包含几乎任何其他的 XSL 元素(
terminate 属性允许您选择在错误发生时,是否应终止转换。
<!-- Content:template -->
输出的消息:不会放在输出文档中,而是会在控制台中红色显示所输出的消息。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29706262/viewspace-1214167/ ,如需转载,请注明出处,否则将追究法律责任。