XSLT怎么获取当前分组内的项目 current-group()

煙雲
发布: 2025-12-16 09:01:32
原创
696人浏览过
current-group() 返回当前分组的节点序列,顺序与输入一致;只能在 xsl:for-each-group 内使用,常配合 count()、current-grouping-key() 等实现分组聚合与嵌套处理。

xslt怎么获取当前分组内的项目 current-group()

current-group() 是 XSLT 2.0+(及 XPath 2.0+)中 xsl:for-each-group 内部专用函数,**只能在 xsl:for-each-group作用域内使用**,用于获取当前正在处理的这个分组所包含的所有节点(即“这一组”的全部项目)。

它返回什么?

返回一个节点序列(node sequence),顺序与原始输入中这些节点出现的顺序一致。注意:不是字符串、不是单个节点,而是**一组节点** —— 所以你可以对它用 count()position()for-each,甚至嵌套 xsl:for-each-group 再分组。

怎么用?常见写法

典型结构如下:

gory">
  

    

Category:


    

This group has items.

达芬奇
达芬奇

达芬奇——你的AI创作大师

达芬奇 166
查看详情 达芬奇

    

          
            

  •       

        

  

关键注意事项

  • 不能在 xsl:for-each-group 外调用 —— 否则报错或返回空序列
  • 不等于 .current(). 是当前上下文节点(通常是分组里的第一个节点),而 current-group() 是整个组
  • 如果想取组内第一个/最后一个节点,写 current-group()[1]current-group()[last()]
  • 配合 current-grouping-key() 使用最常见 —— 前者是“这组的值”,后者是“这组的内容”

小技巧:过滤或变换当前组

你可以在 current-group() 上直接加谓词或函数:

  • current-group()[price > 100] —— 取本组中价格超百的项
  • current-group()/@id —— 提取本组所有项目的 id 属性值序列
  • string-join(current-group()/name, ', ') —— 把本组所有 name 拼成逗号串

基本上就这些。记住:它是分组时的“组内视图”,用对了能让聚合、汇总、嵌套列表变得非常简洁。

以上就是XSLT怎么获取当前分组内的项目 current-group()的详细内容,更多请关注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号