0

0

XSLT模板(template)和应用模板(apply-templates)怎么用

煙雲

煙雲

发布时间:2025-12-19 14:42:09

|

744人浏览过

|

来源于php中文网

原创

xsl:template定义处理规则,xsl:apply-templates调度执行节点;前者通过match匹配并声明输出逻辑,后者通过select、mode等控制处理范围与方式,二者协同构成XSLT核心驱动机制。

xslt模板(template)和应用模板(apply-templates)怎么用

xsl:template 定义“怎么处理某类节点”,xsl:apply-templates 决定“现在去处理哪些节点”——两者配合,构成 XSLT 的核心驱动逻辑。

模板(xsl:template)是规则说明书

它声明:当遇到匹配的节点时,该输出什么、怎么计算、是否递归处理子节点。

企业软件介绍主页html模板
企业软件介绍主页html模板

一款多用途的企业软件前端HTML模板。IT软件服务公司网站响应式单页模板。基于CSS、JS、HTML模块化原则创建的。如果您的站点不需要所有元素,那么可以轻松地删除不必要的组件。模板的代码干净,友好,注释良好。这使得编辑和自定义模板变得很容易。

下载
  • 必须有 match 属性(除非用 name 做命名模板),比如 match="book"match="/"
  • match 值是 XPath 表达式,处理器靠它判断“这个模板管不管用”
  • 模板内可写 HTML、文本、函数(如 ),也可嵌套 继续向下处理
  • 多个模板可能同时匹配一个节点,XSLT 按优先级(priority)或声明顺序(后声明胜出)选一个执行

应用模板(xsl:apply-templates)是调度员

它不自己输出内容,而是告诉处理器:“请按规则,去处理我挑出来的这些节点”。

  • 不写 select 时,默认处理当前节点的所有直接子节点
  • 写了 select="chapter",就只处理 子元素;写 select="*" 就处理所有子元素(不含文本节点)
  • mode="summary",就只触发带 mode="summary" 的模板,实现同一节点多种输出方式
  • 内部可嵌 控制顺序,或 向目标模板传参

典型配合流程

以 XML 中 XML入门 基础 为例:

  • 主模板 match="/" 输出 ,然后
  • 触发 match="book" 模板:输出

    ,再用 (无 select)处理它的子节点
  • 遇到 ,匹配 match="title" 模板,输出文字;遇到 ,匹配 match="chapter" 模板,输出编号和标题

容易忽略的关键点

  • 不等于 “复制子节点内容”——它会重新走匹配流程,没写对应模板的节点可能被跳过或走内置规则
  • 没写 的模板,其子节点默认不处理(除非用了 这类直接取值指令)
  • mode 不是可有可无的修饰,它是隔离不同处理逻辑的必要手段,尤其在 import/override 场景中
  • select 表达式运行在当前上下文节点下,不是整个文档根,这点和 类似但语义不同
基本上就这些。写模板像写条件分支,调用模板像发任务单——理清谁定义规则、谁触发执行,XSLT 就不难上手。

相关专题

更多
html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

616

2023.06.14

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

653

2023.06.21

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

470

2023.07.31

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

245

2023.08.01

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2895

2023.08.11

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

505

2023.08.11

html转txt
html转txt

html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。

312

2023.08.31

html文本框代码怎么写
html文本框代码怎么写

html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。

425

2023.09.01

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

AngularJS教程
AngularJS教程

共24课时 | 2.7万人学习

CSS教程
CSS教程

共754课时 | 20.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号