Hi,
we've recently updated BaseX from 10.5 to 10.6 and it seems there was
some change in the namespace declaration behavior.
Example:
declare function local:list() as element()+
{
(
<string>1</string>,
<string>2</string>,
<string>3</string>
)
};
declare function local:to-json() as element()
{
<map xmlns="http://www.w3.org/2005/xpath-functions">
<string key="id">id</string>
<array key="list">{local:list()}</array>
</map>
};
local:to-json()
Output 10.5:
<map xmlns="http://www.w3.org/2005/xpath-functions">
<string key="id">id</string>
<array key="list">
<string>1</string>
<string>2</string>
<string>3</string>
</array>
</map>
Output 10.6:
<map xmlns="http://www.w3.org/2005/xpath-functions">
<string key="id">id</string>
<array key="list">
<string xmlns="">1</string>
<string xmlns="">2</string>
<string xmlns="">3</string>
</array>
</map>
The empty namespace attributes are added when the elements are created
with a function and not directly in the context of the parent element.
Was this intended and if yes is there a switch to get the old behavior back?
Best Regards
Johannes