And naturally I forgot to mention... On Sun, Oct 11, 2020 at 3:49 PM Bridger Dyson-Smith bdysonsmith@gmail.com wrote:
Hi all -
I'm accustomed to writing something like the following:
declare function local:grab( $url as xs:string, $path as xs:string, $fname as xs:string ) as document-node() { let $req := http:send-request(<http:request method="get"/>, $url) return if (head($req)/@status = "200") then file:write($path || $fname, tail($req), map { "method": "xml" }) else ("something went wrong!") };
but I've noticed that in version 9.4.3 this returns an XPTY error: Stopped at /home/bridger/bin/basex-src/basex-943-xpty0004-error.xq, 1/18: [XPTY0004] Cannot promote xs:string* to document-node(): (let $req_7 := http:send-request(<http:request method="get"/>, " https://dpla.lib.utk.edu/repox/OAIHa....
that despite the error, the correct response is written to the filepath
specified.
While this could be a bug, should I be writing this kind of local function
differently? Or could I improve my typing on it?
Thanks very much for any advice or insights you can provide.
Apologies for the omission!
Best, Bridger