这是一个分心转向痴迷。我在eXist周围乱搞,并决定从文档中获得comment()
。唯一的问题是我们的大部分评论都出现在根节点之前。让我们举个例子在根节点之前选择comment()之前
XML
<?xml version="1.0" encoding="UTF-8"?>
<!-- DOCUMENT REVIEWED -->
<doc id="test">
<figure>
<figcaption>caption</figcaption>
</figure>
<p>blah blah blah</p>
</doc>
XQUERY
xquery version "3.1";
let $col := '/db/project/data'
let $result := <docs> {
for $doc in collection($col)/doc
let $id := string($doc/@id)
let $figures := count($doc//figures)
let $comments := ?????
return <doc id="{$id}" figurecount="{$figures}">{$comments}</doc>
} </docs>
return $result
现在我已经试过几件事情。 ancestor::comment()
,preceding-sibling
,甚至collection($col)//comment()
。我能够在oXygen的<doc>
之前找到评论,只需//comment()
就可以了。
我并不真的需要这个具体的东西,但它的烦人,我无法弄清楚。
哪个版本的eXist? 3.1版本声明表明这是来自源代码开发分支的相对较新版本。 – joewiz
另外,你如何在eXist中运行这个查询?使用eXide? – joewiz
我可以在eXist的当前开发分支中确认意外的结果。我在eXist的跟踪器上提交了一个问题:https://github.com/eXist-db/exist/issues/623。 – joewiz