I was thinking of
http://www.w3.org/TR/xquery-update-30/#id-dynamic-function-invocation and
http://www.w3.org/TR/xquery-update-30/#id-inline-function
Allowing something like:
declare updating function local:check($fn){
if(1=random:integer(2)) then db:output($fn())
else db:output("no action")
};
let $v:="good"
return local:check(%updating function(){ db:output($v)})
/Andy
Hi Andy,
true.. For everyone else: the latest versions of the XQuery 3.0 specs
have just been made
public:
http://www.w3.org/TR/xquery-30/
http://www.w3.org/TR/xquery-update-30/
http://www.w3.org/TR/xpath-full-text-30/
Could you give me a hint which section do you exactly refer to?
> From my reading: it looks like the latest version of the spec has addressed
> the "updating operations in closures" issue. Can we expect a BaseX
> implementation soon :-)
Christian
___________________________
On Wed, Jan 9, 2013 at 10:19 PM, Andy Bunce <bunce.andy@gmail.com> wrote:
>
> /Andy
>
>
>
> On Thu, Nov 22, 2012 at 2:40 PM, Christian Grün <christian.gruen@gmail.com>
> wrote:
>>
>> Hi Daniel,
>>
>> > Doesn't it introduce performance problems though? If you do this copying
>> > with some bigger chunk of XML does it take the same amount of memory or is
>> > it somehow "delta" optimized?
>>
>> Yes; this is due to the specification, btw. Whatever you copy in your
>> XQUF spec. is supposed to be cached before it is being evaluated.
>>
>> Regarding updating operations in closures: the current version of the
>> spec. disallows updating operations, because it cannot be statically
>> determined if a dynamic function invocation is an updating expression
>> or not. See [1] for more details.
>>
>> Best,
>> Christian
>>
>> [1] http://www.w3.org/TR/xquery-update-30/#id-dynamic-function-invocation
>> _______________________________________________
>> BaseX-Talk mailing list
>> BaseX-Talk@mailman.uni-konstanz.de
>> https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
>
>