Hi, I have recently been using xslt:transform-report to get xsl:message reports. I am using BaseX 10.7 with various versions of Saxon-he. I have run example 4 from[1] with
- saxon-he-10.9.jar - saxon-he-11.6.jar - saxon-he-12.4.jar Only saxon-he-10 captures the messages for me. (although when using BaseX 11 I seem to recall only Saxon 12 captured them) Is this correct and expected? I understand the Saxon API may be a moving target. Perhaps the documentation could indicate a recommended Saxon version for a given BaseX version, rather than "For the moment, messages can only be returned with recent versions of Saxon." I have made minor updates to [2] to this effect. Please edit or revert if my understanding is incorrect. /Andy . [1] https://docs.basex.org/wiki/XSLT_Module#Examples [2] https://help.basex.org/main/XSLT_Module On Wed, 4 May 2022 at 22:16, Christian Grün <christian.gr...@gmail.com> wrote: > I agree it's somewhat unexpected. As we are working on the string result > that is returned by Saxon, it's currently not that easy indeed to decide > how to interpret the character stream. > > > > Andy Bunce <bunce.a...@gmail.com> schrieb am Mi., 4. Mai 2022, 23:11: > >> 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.gr...@gmail.com> >> wrote: >> >>> Thanks, Andy, I’ve updated the documentation. >>> >>> On Wed, May 4, 2022 at 3:12 PM Andy Bunce <bunce.a...@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/>) >>>> } >>>> >>>> >>>> >>>> >>>>