Hi Artur,
I just found out this all comes down to a mistake in our XQuery Update documentation - I'm sorry to cause that confusion.
The XQuery Update specification says this:
If you have an expression like ... *'replace value of node A with B'* the expression *B* is evaluated with a text node constructor. That means the result of *B *is either a sequence of text nodes or an empty sequence.
Considering your example the outcome is valid - it's the documentation which is wrong. It's simply not possible to replace the *value of* an element node (its descendants) with other elements. I'll take care of this inconsistency.
Hope this clears things up, thanks for pointing that out!
Regards, Lukas
PS: I'm also forwarding your answer to basex-talk
On Mon, Feb 14, 2011 at 12:05 PM, Artur Moor skynexion@googlemail.comwrote:
It seems that the instruction:
replace value of node $doc with $value
replaces the content of $doc with atomic contents of given $value. I'm not familiar with XQUF, but following the documentation on http://docs.basex.org/wiki/Update it should replace the content of $doc with given item(s) in $value.
Is there a mistake in documentation or implementation?
Regards, Artur
2011/2/14 Lukas Kircher lukaskircher1@googlemail.com:
Hey Artur, thanks for the report - I'll take a look at this today and get back to you as soon as I can. Regards, Lukas
On Mon, Feb 14, 2011 at 9:25 AM, Artur Moor skynexion@googlemail.com wrote:
Hi all,
following the documentation on http://docs.basex.org/wiki/Update the instruction of:
replace value of node /doc with <new-element/>
on db:
<doc> <node/> </doc>
should result in:
<doc> <new-element/> </doc>
but the result is:
<doc/> _______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
basex-talk@mailman.uni-konstanz.de