【发布时间】:2015-06-09 15:02:05
【问题描述】:
我正在尝试在 BaseX 中运行以下 XQuery 表达式来提取两个后续标题之间的元素。 (作为文章部分)。
xquery for $x in doc("test.xq")//h2,
$y in $x/following-sibling::h2[1]
return //*[$x/following::* and $y/preceding::*]
但它给出了错误
Error:
Stopped at D:/Program Files/BaseX/data/test.xq, 1/74:
[XPDY0002] root(): no context value bound.
我的意思是如果$x 是标题并且$y 是$x 之后的第一个标题,那么选择$x/following::* 和$y/preceding::* 的通用文本
但是我不确定我的表达式是否有效,但我的问题是如何执行我的预期查询而不会出错?
如果你也有适合我需要的表达方式,欢迎。
【问题讨论】:
-
您可能想使用
group-by(w3.org/TR/xquery-30/#id-group-by),例如group by preceding-sibling::h2[1].
标签: xpath xquery grouping basex