Это отвлечение превратилось в навязчивую идею. Я возился с eXist и решил получить 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()
. Я могу найти комментарий перед <doc>
в oXygen, просто //comment()
помогает.
Мне это действительно не нужно для чего-то конкретного, но меня беспокоит, что я не могу понять это.