Ok thanks. I thought this might have been unintended behavior. if($report?result instance of document-node()+) then document{$report?result} else $report?result seems to give me what I expected here. /Andy
On Wed, 4 May 2022 at 16:58, Christian Grün christian.gruen@gmail.com wrote:
Thanks, Andy, I’ve updated the documentation.
On Wed, May 4, 2022 at 3:12 PM Andy Bunce bunce.andy@gmail.com wrote:
Hi,
Using BaseX 9.7.1 and saxon9he-9.9.1.jar The documentation suggests the ?result from xslt:transform-report should be *a* document-node where possible [1] This seems not quite to be the case when there are processing instructions or comments at the top level. In these cases a sequence of document-nodes is returned.
/Andy [1] https://docs.basex.org/wiki/XSLT_Module#xslt:transform-report
let $xslt:=<xsl:stylesheet xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" version="3.0"> <xsl:mode on-no-match="shallow-copy"/> </xsl:stylesheet>
let $xml:=document{ <?something type="compact"?>, <foo/>} return xslt:transform-report($xml,$xslt)
Returns map { "messages": (), "result": (<?something type="compact"?>, <foo/>) }