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/>)
>>>> }
>>>>
>>>>
>>>>
>>>>
>>>>

Reply via email to