为何从XSLT数组变量$headerTitles中总是获取第一个元素?
问题原因分析
以下是导致你始终只能获取到$headerTitles索引1元素的核心原因:
entry.getColspecAttributeValue模板返回值异常
该模板逻辑可能存在问题,无论输入上下文如何,始终返回数字1。比如模板内部未正确匹配当前entry对应的colspec节点,默认取了第一个colspec的colNum属性值;或是模板解析属性时出错,导致返回值固定为1。$columnNumber类型不匹配
如果模板返回的是字符串类型的"1"而非数字类型的1,在XSLT 1.0中,用字符串作为节点集索引时会尝试转换为数字。若模板返回的字符串无法正确转为有效数字(含非数字字符),会被解析为NaN,此时$headerTitles[NaN]可能默认返回第一个节点(索引1的元素)。模板执行的上下文节点错误
调用entry.getColspecAttributeValue模板时,当前上下文节点未指向预期的entry元素,导致模板匹配colspec时始终对应第一个colspec的colNum,最终返回固定的1。需检查模板内部是否依赖当前节点属性(如@colname)匹配colspec,且当前上下文是否正确。
内容的提问来源于stack exchange,提问作者Alexandr Kruzer
相关产品推荐
相关产品推荐

