Catching message from xsl:message terminate=yes in function

AirQuick <[email protected]>
Newsgroups gmane.text.xml.saxon.help
Message-ID <[email protected]>
I expected Saxon 10.1 and 9.9.1.7 with the stylesheet below to output

<value><?error-code Q{http://www.w3.org/2005/xqt-errors}XTMM9000?>my error message</value>

but the actual output is

$ java -jar SaxonHE10-1J/saxon-he-10.1.jar -it -xsl:test.xsl
my error message
<?xml version="1.0" encoding="UTF-8"?>
<err>
   <code>err:XTMM9000</code>
   <description>Processing terminated by xsl:message at line 28 in test.xsl. Found while atomizing the result of a call to my:test#0</description>
   <value/>
</err>


Stylesheet:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet exclude-result-prefixes="#all" version="3.0"
   xmlns:err="http://www.w3.org/2005/xqt-errors" xmlns:my="my"
   xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

   <xsl:output indent="yes" />

   <xsl:template name="xsl:initial-template">
      <xsl:try>
         <xsl:sequence select="my:test()" />
         <xsl:catch>
            <err>
               <code>
                  <xsl:value-of select="$err:code" />
               </code>
               <description>
                  <xsl:value-of select="$err:description" />
               </description>
               <value>
                  <xsl:sequence select="$err:value" />
               </value>
            </err>
         </xsl:catch>
      </xsl:try>
   </xsl:template>

   <xsl:function as="xs:integer" name="my:test">
      <xsl:message select="'my error message'" terminate="yes" />
      <xsl:sequence select="1" />
   </xsl:function>

</xsl:stylesheet>
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.