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 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.com> wrote:
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
>
>