为什么会出现此错误:
不允许将多个项目的序列作为
fn:substring-after()
的第一个参数
$arg1
中的substring-after()
是否不允许布尔表达式作为参数?
<xsl:variable name="current"
select="number(replace(substring-after(../wd:Function_Name
[wd:Function_Name/@wd:Descriptor='Choose this'
or wd:Function_Name/@wd:Descriptor='Over this'
]
/wd:Function_Name,
'$'
),
',',
''
)
)"/>
答案 0 :(得分:0)
您的substring-after()
的第一个参数是此XPath,
../wd:Function_Name[wd:Function_Name/@wd:Descriptor='Choose this'
or wd:Function_Name/@wd:Descriptor='Over this']/wd:Function_Name
,它正在选择多个节点。对其进行优化以仅选择一个节点来满足错误消息给出的要求。一种方法可能是选择第一个这样的节点:
(../wd:Function_Name[wd:Function_Name/@wd:Descriptor='Choose this'
or wd:Function_Name/@wd:Descriptor='Over this']/wd:Function_Name)[1]
但其他基于内容的方法也可能有效,具体取决于您的数据。
答案 1 :(得分:0)
您还没有显示数据,即使您显示了数据,我们也不知道您要实现的目标,但是我的随机猜测是您的真正意图是
../wd:Function_Name/wd:Function_Name[@wd:Descriptor=('Choose this','Over this')]