You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XSLT1.0按Level分组Itemno求助:key未绑定错误排查

XSLT key "not bound" 错误排查与解决

错误原因

XSLT规范要求<xsl:key>的name属性必须唯一,你重复定义了两个名为s1的key,解析器无法识别重复的key名称,因此抛出“key not bound”错误。

解决方案

有两种可行的修正方式:

方式一:给不同Level的key分配唯一名称

将两个key的name分别设置为不同值,比如:

<xsl:key name="s1-level1" match="Material[Level='1']" use="concat(Label ,'|', Itemno)" />
<xsl:key name="s1-level2" match="Material[Level='2']" use="concat(Label ,'|', Itemno)" />

后续使用key时,分别调用对应的名称即可。

方式二:合并match条件,将Level纳入分组键

如果需要统一处理Level1和Level2的分组,可以把Level也加入到分组键的组合中,只定义一个key:

<xsl:key name="s1" match="Material[Level='1' or Level='2']" use="concat(Level, '|', Label ,'|', Itemno)" />

这样分组会自动按Level+Label+Itemno的组合进行区分,调用key时传入对应的组合值即可。

额外检查点

确认Material节点下确实存在Label子节点,如果Label不存在,concat的结果会包含空值,可能导致分组异常。

内容的提问来源于stack exchange,提问作者Akash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 07:22:08