Different xmlns (Saxon 10.1 and 9.9)

AirQuick <[email protected]>
Newsgroups gmane.text.xml.saxon.help
Message-ID <[email protected]>
Given these files, Saxon 10.1 behaves differently from 9.9.

$ cat source.xml 
<?xml version="1.0" encoding="UTF-8"?>
<p><q/></p>
$ cat stylesheet.xsl 
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="3.0" xmlns:w="w-uri" xmlns:x="x-uri"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output indent="yes" omit-xml-declaration="yes" />

  <xsl:mode on-multiple-match="fail" on-no-match="shallow-copy" />

  <xsl:template as="element(x:report)" match="/">
    <xsl:message select="('xsl:product-name', 'xsl:product-version') ! system-property(.)" />

    <xsl:variable as="element(p)" name="var">
      <xsl:apply-templates />
    </xsl:variable>

    <xsl:element name="report" namespace="x-uri">
      <xsl:sequence select="$var" />
    </xsl:element>
  </xsl:template>

  <xsl:template as="element(w:s)" match="q">
    <xsl:element name="w:s" namespace="w-uri" />
  </xsl:template>

</xsl:stylesheet>
$ java -jar SaxonHE10-1J/saxon-he-10.1.jar -s:source.xml -xsl:stylesheet.xsl
SAXON HE 10.1
<report xmlns="x-uri">
   <p xmlns="">
      <w:s xmlns="x-uri" xmlns:w="w-uri"/>
   </p>
</report>
$ java -jar SaxonHE9-9-1-7J/saxon9he.jar -s:source.xml -xsl:stylesheet.xsl
SAXON HE 9.9.1.7
<report xmlns="x-uri">
   <p xmlns="">
      <w:s xmlns:w="w-uri"/>
   </p>
</report>

10.1 puts 'xmlns="x-uri"' in <w:s>, whereas 9.9 doesn't.
I wonder which is correct.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.