Hello,
I'm trying to rewritte XQuery prepared for exist-db into baseX.
I have a problem with storing data in the database.
In exist-db xmldb:store() function returns a string and there is no problem to create let/return construct.

Is it possible to create a similar solution in baseX?

--- exist-db -----------------------------------------

xquery version "3.0";

declare function local:indexget() as item()* {
let $index := doc('db/index.xml')
return xs:integer($index/index/text())
};

declare function local:indexset($index as xs:integer) as xs:string? {
let $newresource :=  xmldb:store('/db','index.xml', <index>{$index}</index>)
return $newresource
};

let $indexnew  :=  local:indexget() + 1
let $newresource := local:indexset($indexnew)
return local:indexget()
----------------------------------------------------


And these are baseX functions I wrote, but I don't know if is it possible
to create solution similar to above?
Can anyone help me solve this problem?


---- BaseX ----------------------------------------------
declare function local:indexget() as item()* {
let $index := doc('/home/index.xml')
return xs:integer($index/index/text())
};

declare %updating function local:indexset($index as xs:integer)  {
db:replace('index', 'index.xml', <index>{$index}</index>)
};

(....)
------------------------------------------------------------

Regards

Bartosz Marciniak