…you’re right, now I got it. I’ve added an issue to track this down [1].
Thanks,
Christian
[1]
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FBaseXdb%2Fbasex%2Fissues%2F1997&data=04%7C01%7Cas.clark%40northeastern.edu%7C892198771cea4356911208d8f0847b39%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637523799080865663%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=47hW2k9YPSxODOsKng2sUnguB9you%2FV48BP2rWUCblQ%3D&reserved=0
On Fri, Mar 26, 2021 at 7:11 PM Clark, Ash <as.clark@northeastern.edu> wrote:
>
> Hi Christian,
>
> Thanks! I’m using version 9.5. (I upgraded in case that solved things.)
>
> To be clear, you’re comparing the stored documents "/test-ns/snippet.xml" and "/test-ns/workaround.xml", right? The results from update:output() should be fine.
>
> Warmly,
> Ash
> ________________________________
> From: Christian Grün <christian.gruen@gmail.com>
> Sent: Friday, March 26, 2021 2:02 PM
> To: Clark, Ash <as.clark@northeastern.edu>
> Cc: basex-talk@mailman.uni-konstanz.de <basex-talk@mailman.uni-konstanz.de>
> Subject: Re: [basex-talk] Missing namespaces when storing an excerpt?
>
> Hi Ash,
>
> Thanks for the reproducible example code.
>
> On my system, the root elements of both $snippet and $workaround have
> the '
https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2005%2Fxpath-functions&data=04%7C01%7Cas.clark%40northeastern.edu%7C892198771cea4356911208d8f0847b39%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637523799080865663%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=GoTB4mKRMHwybDktAKMOGx1WtG5DBOKX1ykts1UKATk%3D&reserved=0'
namespace (and
> deep-equal($snippet, $workaround) yields true). Are you working with
> the latest version of BaseX?
>
> Cheers,
> Christian
>
>
> On Fri, Mar 26, 2021 at 6:53 PM Clark, Ash <as.clark@northeastern.edu> wrote:
> >
> > Hi!
> >
> > I’m pulling JSON from an API, converting the string to the XML representation, and storing part of the resulting XML into BaseX. The problem is, I can’t get the xmlns namespace declaration to stick to the XML excerpt once it’s saved to BaseX. It seems to
work when I display the unstored excerpt.
> >
> > Here’s a short XQuery that illustrates my problem. Am I missing something? Is this a bug?
> >
> >
> > xquery version "3.1";
> >
> > (: NAMESPACES :)
> > declare default element namespace "
https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2005%2Fxpath-functions&data=04%7C01%7Cas.clark%40northeastern.edu%7C892198771cea4356911208d8f0847b39%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637523799080865663%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=GoTB4mKRMHwybDktAKMOGx1WtG5DBOKX1ykts1UKATk%3D&reserved=0";
> > declare namespace db="
https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbasex.org%2Fmodules%2Fdb&data=04%7C01%7Cas.clark%40northeastern.edu%7C892198771cea4356911208d8f0847b39%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637523799080865663%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=y050wBf%2FTypd2tr8E66U9Sg0Y4S%2F9mVL50fEtQK5m98%3D&reserved=0";
> > declare namespace output="
https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2010%2Fxslt-xquery-serialization&data=04%7C01%7Cas.clark%40northeastern.edu%7C892198771cea4356911208d8f0847b39%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637523799080865663%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=9xMGv5AZGn5tVNBZBoG%2BaD4zFWndzWRlvItmkbDDz%2Fw%3D&reserved=0";
> > declare namespace update="
https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbasex.org%2Fmodules%2Fupdate&data=04%7C01%7Cas.clark%40northeastern.edu%7C892198771cea4356911208d8f0847b39%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637523799080865663%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=HTuU2EG13grOpjlayn%2BkAuIdkUg95rdAgyacDnyMvOE%3D&reserved=0";
> > (: OPTIONS :)
> > declare option db:chop 'false';
> > declare option db:stripns 'false';
> > declare option output:indent 'yes';
> > declare option output:method 'xml';
> >
> > (: MAIN QUERY :)
> >
> > let $uri :=
> > "
https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwwp.northeastern.edu%2Fexist%2Frest%2Fdb%2Fexhibits%2Fxquery%2Fpeople.xquery%3Ffile%3Dcaldwell.tenthmuse.xml&data=04%7C01%7Cas.clark%40northeastern.edu%7C892198771cea4356911208d8f0847b39%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637523799080865663%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=WxiTtSUqaZmeQsR3tUJxZQNngy8hLs8Lzo7NjkXSo5Q%3D&reserved=0"
> > let $full := json-to-xml(unparsed-text($uri))
> > let $snippet := $full/fn:array/fn:map[1]
> > let $workaround :=
> > <map xmlns="
https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w3.org%2F2005%2Fxpath-functions&data=04%7C01%7Cas.clark%40northeastern.edu%7C892198771cea4356911208d8f0847b39%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637523799081064792%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=t1pnQs6BKN%2FSwrUQinfyket27lN5F36QK4c3Bfy5Tfo%3D&reserved=0">{
$snippet/* }</map>
> > return (
> > db:create("test-ns",
> > ($full, $snippet, $workaround),
> > ("full.xml", "snippet.xml", "workaround.xml")),
> > update:output(($snippet, $workaround))
> > )
> >
> >
> > Thanks for your time!
> >
> > Warmly,
> > Ash
> >
> > Ash Clark (my pronoun.is/e/em/eir)
> > XML Applications Developer
> > Digital Scholarship Group
> > Northeastern University Libraries
> > as.clark@northeastern.edu
> > (617) 373-5983