Works for me if MIXUPDATES is not true. I have found previously that MIXUPDATES has a lot consequences that are not always desirable or predictable - at least for me. /Andy
On 18 January 2016 at 10:31, Christian Grün <christian.gr...@gmail.com> wrote: > Hi Marc, > > It runs fine on my environment. Could you give me some more > information on your set up (have you assigned any non-default > options)? > > Christian > > > On Mon, Jan 18, 2016 at 10:07 AM, Marc van Grootel > <marc.van.groo...@gmail.com> wrote: > > Hi Christian, > > > > Seems to work fine with latest snapshot with some straightforward > > cases but I do get an error in some cases which I cannot understand. > > Though I appreciate that it may be difficult to support all types of > > dynamic calls. > > > > The error is: [bxerr:BXXQ0001] No updating expression allowed. > > > > I am not using updating expressions. I also tried this in my little > > test project and it runs against the same error. I haven't been able > > to pinpoint it yet as it happens deep in the bowels of the code. When > > I'm able to I will let you know. > > > > You can use a simple/small set of unit tests to verify [1]. I've > > %unit:ignored the last test that causes the error above. > > > > Cheers, > > --Marc > > > > [1] > https://github.com/xokomola/origami-examples/blob/master/check/test-eval.xqm > > > > On Fri, Jan 15, 2016 at 6:57 PM, Christian Grün > > <christian.gr...@gmail.com> wrote: > >> Hi Marc, > >> > >> This was a deliberate restriction: As maps and arrays are function > >> items, and as they can contain references to other functions that have > >> been declared in the evaluated query, it is generally tricky to > >> evaluate and return them dynamically. > >> > >> However, I spent some more thoughts on the underlying semantics, and I > >> may have found a solution that overcomes some of the earlier > >> limitations. > >> > >> A new snapshot is available [1], which now allows you to return > >> function items (incl. maps and arrays) as result of xquery:eval. Your > >> testing feedback will be welcome. > >> > >> Christian > >> > >> [1] http://files.basex.org/releases/latest/ > >> > >> > >> > >> On Thu, Jan 14, 2016 at 11:17 PM, Marc van Grootel > >> <marc.van.groo...@gmail.com> wrote: > >>> Hi, > >>> > >>> I'm trying to return a map or an array from xquery:eval. Seems this is > >>> not possible, yet the signature says it returns item()* > >>> > >>> xquery:eval('1 + 1') => 2 > >>> xquery:eval('[1,2]') => ERROR: [FOTY0014] Items of type array(*) > >>> have no string representation. > >>> xquery:eval('map { "x": 10 }') => ERROR: [FOTY0014] Items of type > >>> map(*) have no string representation. > >>> > >>> BTW: I saw that xquery:eval#3 is documented as returning item() while > >>> the other arities return item()* > >>> > >>> Tested on 8.3, haven't tested yet on 8.4beta but it's trivial to repro > I figure. > >>> > >>> -- > >>> --Marc > > > > > > > > -- > > --Marc >