XSLT的xsl:param怎么用 向样式表传递参数


xsl:param用于声明可外部传入的只读参数,提升XSLT复用性;需由处理器注入值,支持默认值,引用时XPath中须加$前缀,与xsl:variable本质不同。

xslt的xsl:param怎么用 向样式表传递参数

xsl:param 用于在 XSLT 样式表中声明可外部传入的参数,让样式表更灵活、可复用。它本身不提供值,值需由调用方(如 XSLT 处理器、程序代码或命令行工具)传入;若未传值,可设默认值。

基本写法和默认值

在 XSLT 中任意顶层位置(如 <stylesheet></stylesheet> 内、模板外)声明:

<xsl:param name="lang" select="'zh'" />

这表示参数名为 lang,若调用时没给值,就用默认值 'zh'(字符串字面量)。也可以绑定到一个表达式,比如:

<xsl:param name="showTitle" select="/book/@showTitle = 'true'" />

在模板中使用参数

声明后,参数名就可在 XPath 表达式中直接使用(不用加 $ 前缀):

  • 在匹配模板中:<if test="$lang = 'en">Hello</if>(注意:这里必须加 $
  • 在属性值模板中:<div lang="{$lang}"></div>
  • 作为函数参数:<value-of select="concat('ID-', $id)"></value-of>

⚠️ 注意:在 XPath 上下文中引用参数必须加 $(如 $lang),但在 select 属性里写默认值时不用(那是静态表达式,不是变量引用)。

Opus Opus

AI生成视频工具

Opus 77 查看详情 Opus

从外部传入参数(常见方式)

参数值不能在 XSLT 文件里“自己设”,必须由处理器注入:

  • J*a(Transformer)transformer.setParameter("lang", "en");
  • Python(lxml)transform(xslt_root, lang=etree.XSLT.strparam("en"))(字符串需用 strparam 包装)
  • 命令行(xsltproc)xsltproc --stringparam lang en style.xsl doc.xml--stringparam 用于字符串,--param 用于 XPath 表达式)
  • 浏览器(旧版支持):不支持运行时传参,需预编译或改用 JS 控制

和 xsl:variable 的关键区别

别把 xsl:param 当成普通变量用:

  • xsl:param 是只读的,且值来自外部;xsl:variable 是本地定义、不可重赋值,但值完全由样式表控制
  • 同名 paramvariable 共存时,param 优先级更高(会覆盖同名 variable
  • 全局 param 可被所有模板访问;局部 param(在模板内声明)仅限该模板作用域(XSLT 2.0+ 支持)

基本上就这些。用好 xsl:param 能让一个样式表适配多场景,比如切换语言、开关调试模式、动态过滤条件——不复杂但容易忽略。

以上就是XSLT的xsl:param怎么用 向样式表传递参数的详细内容,更多请关注其它相关文章!


# java  # python  # 如何用  # 作用域  # 区别  # 工具  # 浏览器  # 处理器  # js  # 湘潭网站建设方案优化  # 寿光seo网站推广  # 地产营销视频推广文案  # 佛山优化seo公司排名  # 合肥网站SEO源头厂家  # 桥头家具网站优化有哪些  # 怀柔关键词seo  # 湘乡营销推广案例  # 襄阳网站优化推广价格  # spa如何对seo优化  # 能在  # 但在  # 那是  # 复用  # 怎么处理  # 是否符合  # 命令行  # 默认值  # 样式表 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: ToDesk远程摄像头功能使用方法_ToDesk远程视频画面查看设置教程  Win10如何彻底关闭OneDrive Win10禁用云同步功能【纯净】  《跳跳舞蹈》循环播放方法  之了课堂app做题入口  喜茶GO更换登录账号方法  外媒评《燕云十六声》DIY载具新玩法:很像《塞尔达传说王国之泪》!  J*aScript 数值去小数位处理:多种方法与实践  小米手机屏幕失灵乱跳怎么办 屏幕触控问题自检与临时解决方法【应急】  Flexbox布局中Stencil组件宽度不显示问题解析与:host尺寸控制  Windows自带的便笺数据如何备份_防止数据丢失的便利贴迁移教程【干货】  抖音商城官网是什么_抖音商城官方网址与访问方法  猫眼电影app如何参与官方的抽奖活动_猫眼电影官方抽奖参与方法  优化Flask模板中SQLAlchemy查询迭代标签:处理字符串空格问题  批改网网页版登录 批改网电脑版学生登录入口  《oppo商城》维修服务位置  悟空浏览器网页版在线工具 悟空浏览器网页版在线平台入口  PPT页面尺寸怎么修改 PPT自定义幻灯片大小与方向设置【教程】  windows10怎么更改下载路径_windows10默认存储位置修改教程  《幻兽帕鲁》手游帕鲁捕捉技巧分享  Win10截图远程协助 Win10远程桌面截屏法【场景应用】  Microsoft Edge网页字体太淡看不清怎么办_Microsoft Edge字体渲染优化技巧  汽水音乐官网网页版入口 汽水音乐官网网页版在线入口  掌握产品代码正则表达式:避免常见陷阱与精确匹配  Python中深度嵌套字典与列表的数据提取与条件过滤指南  Win11怎么开启HDR_Windows 11显示器画质增强设置  《理想汽车》权限管理设置方法  处理含命名空间的XML文件 Power Query中的高级技巧  PDF如何批量加注释_PDF多文件批注高亮操作教程  使用document.execCommand实现Web文本编辑器加粗/取消加粗  Golang如何使用gRPC拦截器实现日志收集_Golang gRPC拦截器日志收集实践  什么是Satis,如何用它搭建一个私有的composer仓库?  深入理解Python对象引用与链表属性赋值  Win10通知横幅停留时间修改 Win10自定义通知显示时长【技巧】  Yandex世界探索 最新官方免登录入口全知道  使用jQuery精确检测除指定元素外任意位置的点击事件  《狐友》联系客服方法  苹果手机手电筒无法开启  composer licenses 命令:如何检查项目依赖的许可证?  优酷下载视频的清晰度怎么选_优酷缓存清晰度设置与选择指南  C++ switch case字符串_C++如何实现字符串switch匹配  包子漫画在线观看入口 包子漫画网正版全集链接  《三角洲行动》战斗步枪与机枪类改装代码分享  动漫岛在线动漫网 动漫岛动漫在线观看官方入口  小米手机截图后如何查看历史_小米手机截图历史记录查看方法  电脑双系统如何安装和卸载 Windows和Linux双系统安装教程【详解】  原子笔记app误删找回教程  德邦快递查询入口登录官网 德邦快递单号查询系统入口  如何编写一个符合 composer 规范的 post-install-cmd 脚本?  谷歌邮箱怎么换绑定邮箱Gmail安全备份邮箱修改方法  告别阻塞等待:如何使用GuzzlePromises优雅处理PHP异步操作,提升应用响应速度 

 2025-12-20

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.