xsl:template定义处理规则,xsl:apply-templates调度执行节点;前者通过match匹配并声明输出逻辑,后者通过select、mode等控制处理范围与方式,二者协同构成XSLT核心驱动机制。
xsl:template 定义“怎么处理某类节点”,xsl:apply-templates 决定“现在去处理哪些节点”——两者配合,构成 XSLT 的核心驱动逻辑。
它声明:当遇到匹配的节点时,该输出什么、怎么计算、是否递归处理子节点。
match="book" 或 match="/"
),也可嵌套 继续向下处理它不自己输出内容,而是告诉处理器:“请按规则,去处理我挑出来的这些节点”。
子元素;写 select="*" 就处理所有子元素(不含文本节点)mode="summary" 的模板,实现同一节点多种输出方式 控制顺序,或 向目标模板传参以 XML 中 为例:
match="/" 输出 ,然后
match="book" 模板:输出 ,再用 (无 select)处理它的子节点,匹
配 match="title" 模板,输出文字;遇到 ,匹配 match="chapter" 模板,输出编号和标题 不等于 “复制子节点内容”——它会重新走匹配流程,没写对应模板的节点可能被跳过或走内置规则 的模板,其子节点默认不处理(除非用了 这类直接取值指令) 类似但语义不同