XSLT变量怎么定义和使用 xsl:variable

煙雲
发布: 2025-12-23 06:07:15
原创
487人浏览过
xsl:variable用于定义不可变变量,支持select属性或标签体赋值,作用域限于声明块内,全局变量需在stylesheet顶层定义,局部变量优先级高于同名全局变量,引用时用$变量名。

xslt变量怎么定义和使用 xsl:variable

xsl:variable 用于在 XSLT 中定义一个不可变的变量(注意:XSLT 中变量一旦赋值就不能修改,类似“常量”)。

定义变量:用 xsl:variable 声明

变量必须在模板(xsl:template)、模式(xsl:for-each)或样式表顶层作用域中定义。基本语法是:

  • 写法一(直接在属性中赋值):
  • 写法二(在标签体中赋值,支持复杂内容):

两种方式都有效。select 属性适合简单表达式;标签体方式适合拼接文本、嵌套元素或条件逻辑(比如配合 xsl:choose)。

变量作用域:只在定义它的块内有效

变量不能跨模板访问。例如:

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

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

企业软件介绍主页html模板 350
查看详情 企业软件介绍主页html模板
  • xsl:template match="/" 里定义的变量,不能在子模板 xsl:template match="book" 中直接使用
  • 若需多个地方用同一个值,可把变量放在顶层(xsl:stylesheet 下),成为全局变量
  • 局部变量优先级高于同名全局变量(就近原则)

使用变量:通过 $变量名 引用

变量值通过带美元符的名称引用,可用于任何支持 XPath 表达式的地方:

  • ...

注意:不能用 $price 来赋值给另一个变量——除非它本身就是一个有效的 XPath 表达式结果(比如节点集、字符串、数字等)。

常见注意事项

  • 变量名必须符合 XML 名字规则(不能以数字开头,不能含空格和特殊符号)
  • 不支持“先声明后赋值”,必须定义时就初始化(XSLT 1.0/2.0/3.0 均如此)
  • 如果 select 表达式返回空序列,变量值为空(不是 null,也不是未定义)
  • XSLT 2.0+ 支持显式类型声明,如 as="xs:string",有助于调试和类型安全

基本上就这些。xsl:variable 看似简单,但作用域和不可变性容易忽略,写的时候多留意上下文。

以上就是XSLT变量怎么定义和使用 xsl:variable的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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