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

XSL开发疑问:@name属性定义位置及sel_recog_cd值打印方法

问题解决指南

一、查找@name属性的定义位置

已知$default_program_sel是在XMLPluginClass中通过builder.addAttribute定义的,@name属性的定义逻辑类似,可按以下步骤排查:

  • 全局搜索XMLPluginClass类中所有builder.addAttribute调用,定位第一个参数为"name"的代码行,这就是@name属性的定义处(addAttribute通常以属性名为第一个参数,属性值为第二个参数)。
  • 若在XMLPluginClass中未找到,检查生成当前节点的关联类:比如该节点是否由XMLPluginClass的子类、或者负责构建该节点的其他Builder类生成,搜索这些类中的addAttribute("name", ...)代码。
  • 若项目存在XML模板/配置文件生成该节点,可直接搜索XML结构中包含name属性的节点,对应到生成它的代码逻辑。

二、解决@sel_recog_cd仅显示前缀文字的问题

针对<xsl:value-of select="@sel_recog_cd"/>只输出前缀的情况,按以下步骤排查:

  • 验证属性原始值:在生成sel_recog_cd属性的Java代码中添加日志,输出完整的属性值,确认后端生成的值是否本身就只有前缀(比如截断、拼接错误)。
  • 检查XSL上下文节点:在xsl:value-of代码前添加<xsl:copy-of select="."/>,打印当前节点的所有内容,确认sel_recog_cd属性是否存在、值是否完整,避免因上下文节点错误导致取值异常。
  • 排查属性生成逻辑:检查sel_recog_cd属性的赋值代码,比如是否是多段内容拼接,是否遗漏了后半部分;或者是否有字符串截断逻辑(如substring方法使用错误)。
  • 检查XSL覆盖逻辑:确认XSL中是否存在<xsl:attribute name="sel_recog_cd">的代码,是否覆盖了原始属性值,导致只保留了前缀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 04:40:39