我正在尝试使用我的 xquery 中的变量来查找节点(以命名空间为前缀),如下所示:
declare variable $libx_ns as xs:string external;
declare namespace libx=$libx_ns;
declare variable $type as xs:string external;
return doc('xyz')/entry[libx:{$type}][1]
参数值:$libx_ns = 'http://libx.org/xml/libx2', $type = libapp. 当我运行这个 xquery 时,我看到以下错误:
[XPST0003] 表达式不完整。
如果我像这样修改最后一行,上面的代码就可以工作:
return doc('xyz')/entry[libx:libapp][1]
目的是为节点名称使用字符串变量(例如 $type),而不是硬连接它(例如 libapp)。我该怎么做?
示例 xml 文档:
<entry xmlns:libx="http://libx.org/xml/libx2">
<libx:libapp> First libapp </libx:libapp>
<libx:libapp> Second libapp </libx:libapp>
</entry>
谢谢,索尼