How do I create a "single" result of one notes
element as the root node, with multiple child nodes of note
elements?
Here's the query in eXide
:
xquery version "3.0";
for $note in collection('/db/tmp')/note
return <notes>{$note}</notes>
where the output is:
nicholas@mordor:~/flwor$
nicholas@mordor:~/flwor$ lynx http://localhost:8080/exist/rest/db/scripts/notes.xq --dump
<notes>
<note>
bar
</note>
</notes>
<notes>
<note>
foo
</note>
</notes>nicholas@mordor:~/flwor$
nicholas@mordor:~/flwor$
How can I get a single document, with a single root element of notes
which Firefox won't choke on?
there are two files, foo.xml
and bar.xml
in the collection.
XML must have exactly one root element.
Also without knowing the structure in the data I would assume you want to get all notes
regardless how deep they are nested. To achieve that use collection($col)//note
xquery version "3.1";
<notes>
{
for $note in collection('/db/tmp')/note
return $note
}
</notes>
or
xquery version "3.1";
<documents>
{
for $doc in collection('/db/tmp')/document()
return <notes>{$doc/note}</notes>
}
</documents>