Apparently works in MarkLogic but not in eXist-db
On Sun, May 24, 2020 at 11:05 AM Ihe Onwuka <[email protected]> wrote:
> This seems to be an eXist-db problem as someone on SO reports the code
> works for them.
>
> The surrounding element constructor is causing the code to not return
> anything at all.
>
>
>
> <parameters>{
> let $root := <a:b xmlns:a="ans" xmlns:c="cns"/>
> for $prefix in in-scope-prefixes($root)[not(. = ('xml', 'xsi'))]
> return
> namespace-uri-for-prefix($prefix,$root) !
> <param name="{$prefix}" value="{.}"/>
> }</parameters>
>
> ---------- Forwarded message ---------
> From: Ihe Onwuka <[email protected]>
> Date: Sun, May 24, 2020 at 9:14 AM
> Subject: Wrap element constructor and output disappears
> To: <[email protected]>
>
>
> Also posted on SO
> https://stackoverflow.com/questions/61986249/cannot-wrap-element-around-xquery-output
> but
> happy to get an answer anywher.
>
> Returning to XQuery after a long hiatus.
>
> let $root := <a:b xmlns:a="ans" xmlns:c="cns"/>
> for $prefix in in-scope-prefixes($root)[not(. = ('xml', 'xsi'))]
> return
> namespace-uri-for-prefix($prefix,$root) !
> <param name="{$prefix}" value="{.}"/>
>
> gives the expected
>
> <param name="a" value="ans"/>
> <param name="c" value="cns"/>
>
> But if I try to wrap an element around that output like below nothing is
> returned
>
> <parameters>{
> let $root := <a:b xmlns:a="ans" xmlns:c="cns"/>
> for $prefix in in-scope-prefixes($root)[not(. = ('xml', 'xsi'))]
> return
> namespace-uri-for-prefix($prefix,$root) !
> <param name="{$prefix}" value="{.}"/>
> }</parameters>
>
> So what is wrong and how do I wrap the output in a parameters element?
>
_______________________________________________
[email protected]
http://x-query.com/mailman/listinfo/talk