Hi,

copy $c := <lorem>ipsum dolor sit amet</lorem>
modify insert node namespace {"lipsum"} {"lorem-ipsum"} into $c
return $c


Expected result:

<lipsum:lorem xmlns:lipsum="lorem-ipsum">ipsum dolor sit amet</lipsum:lorem>

but I get

<lorem>ipsum dolor sit amet</lorem>

copy $c := <lorem>ipsum dolor sit amet</lorem>
modify replace node $c/namespace-node() with namespace 
{"lipsum"} {"lorem-ipsum"}
return $c


Here I get an error: [XQST0134] Namespace axis is not supported.

How can I change namespaces for nodes with the simple update expressions?

For background: I try to implement a function:

declare function local:add-namespaces-to-nodes(
  $nodes as element()*,
  $namespaces as array(*)*)
  as element()*
{
  for $namespace in $namespaces
  for $node in $nodes
  return copy $c := $node
         modify insert node (namespace {$namespace(1)} {$namespace(2)}) into $c
         return $c
};


Thanks!

--
Minden jót, all the best, Alles Gute,
Andreas Mixich