Works great! Thank you so much. Warmly, Ash ________________________________ From: Christian Grün <christian.gruen@gmail.com> Sent: Saturday, March 27, 2021 11:21 AM 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? The issue has been resolved; a new snapshot is available [1]. Cheers, Christian [1] https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Ffiles.basex.org%2Freleases%2Flatest%2F&data=04%7C01%7Cas.clark%40northeastern.edu%7C7855ddec53b14a21ffc908d8f1340474%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637524553003250437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=elTY1qlLs0pMEgOaoAj2v4P4cIqSNqJLbCCurNSR9Q0%3D&reserved=0 On Fri, Mar 26, 2021 at 7:24 PM Christian Grün <christian.gruen@gmail.com> wrote:
…you’re right, now I got it. I’ve added an issue to track this down [1].
Thanks, Christian
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%7C7855ddec53b14a21ffc908d8f1340474%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637524553003250437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oU8KFhHXsAneX%2FsiX1tVbeR2Ugy3vRWgw9HUf5gYgZ0%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%7C7855ddec53b14a21ffc908d8f1340474%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637524553003250437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oU8KFhHXsAneX%2FsiX1tVbeR2Ugy3vRWgw9HUf5gYgZ0%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%7C7855ddec53b14a21ffc908d8f1340474%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637524553003250437%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cQAIbgNu4k6iRKfzXbXokZTU2sbNbrBP5EAUY4DAd2o%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%7C7855ddec53b14a21ffc908d8f1340474%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637524553003260404%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=DFQ0zGsi3FI8TwlDP0oZEhYsO5bffZPEk1EiDp6oo6Y%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%7C7855ddec53b14a21ffc908d8f1340474%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637524553003260404%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=1e1BeaRPhhe%2FyyFeAgblrsRz3O8zjjW8M1TDWA0UnjI%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%7C7855ddec53b14a21ffc908d8f1340474%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637524553003260404%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=nL3vISKcGagPIRYo3VjpWcI8iiWf9FQ3e2Se24dqZ18%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%7C7855ddec53b14a21ffc908d8f1340474%7Ca8eec281aaa34daeac9b9a398b9215e7%7C0%7C0%7C637524553003260404%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=B%2FZpfWQdJFbdaY21vK3zBw66Okz0k%2Fl%2FXXym%2BLfmJ2Y%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