Re: [basex-talk] xslt:transform-report result

2024-03-11 Thread Christian Grün
…very appreciated, Greg! Your edits look completely fine. Thanks.


On Mon, Mar 11, 2024 at 5:49 PM Murray, Gregory 
wrote:

> Hi Christian,
>
>
>
> I made two tweaks in the documentation for xslt:transform-report. First,
> the function returns a map, but the documentation indicated xs:string as
> the return type, so I changed it to map(*).  Second, the function seems to
> work fine as long as the stylesheet doesn’t rely on , so
> indicating “Requires Saxon 10” at the beginning of the “Summary” for the
> entire function seems misleading. Based on what you’ve said below, only the
> “messages” value of the map doesn’t work without Saxon 10. So, I moved
> “Requires Saxon 10” to the “messages” description. (Using Requires Saxon
> 10 causes a display oddity, so I omitted the  wrapper.)
>
>
>
> Please revert or fix my changes as you deem best.
>
>
>
> Thanks,
>
> Greg
>
>
>
> *From: *BaseX-Talk  on behalf
> of Christian Grün 
> *Date: *Monday, March 11, 2024 at 3:12 AM
> *To: *Andy Bunce 
> *Cc: *BaseX 
> *Subject: *Re: [basex-talk] xslt:transform-report result
>
> Hi Andy,
>
>
>
> Thanks for your edits, which I’ve just revised: It turns out that Saxon 10
> is required for xslt:transform-report for both BaseX 10 and 11 beta. As
> you’ve indicated, the Saxon API seems to change with new versions. We
> haven’t checked yet what exactly has changed, and whether the API has
> changed again from version 11 to 12 .
>
>
>
> Best,
>
> Christian
>
>
>
>
>
> On Fri, Mar 8, 2024 at 6:57 PM Andy Bunce  wrote:
>
> 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 
> 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  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 
> wrote:
>
> Thanks, Andy, I’ve updated the documentation.
>
>
>
> On Wed, May 4, 2022 at 3:12 PM Andy Bunce  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:=http://www.w3.org/1999/XSL/Transform;
> version="3.0">
> 
> 
>
>
>
> let $xml:=document{ , }
> return xslt:transform-report($xml,$xslt)
>
>
>
> Returns
>
> map {
>   "messages": (),
>   "result": (, )
> }
>
>
>
>
>
>
>
>
>
>


Re: [basex-talk] xslt:transform-report result

2024-03-11 Thread Murray, Gregory
Hi Christian,

I made two tweaks in the documentation for xslt:transform-report. First, the 
function returns a map, but the documentation indicated xs:string as the return 
type, so I changed it to map(*).  Second, the function seems to work fine as 
long as the stylesheet doesn’t rely on , so indicating “Requires 
Saxon 10” at the beginning of the “Summary” for the entire function seems 
misleading. Based on what you’ve said below, only the “messages” value of the 
map doesn’t work without Saxon 10. So, I moved “Requires Saxon 10” to the 
“messages” description. (Using Requires Saxon 10 causes a display 
oddity, so I omitted the  wrapper.)

Please revert or fix my changes as you deem best.

Thanks,
Greg

From: BaseX-Talk  on behalf of 
Christian Grün 
Date: Monday, March 11, 2024 at 3:12 AM
To: Andy Bunce 
Cc: BaseX 
Subject: Re: [basex-talk] xslt:transform-report result
Hi Andy,

Thanks for your edits, which I’ve just revised: It turns out that Saxon 10 is 
required for xslt:transform-report for both BaseX 10 and 11 beta. As you’ve 
indicated, the Saxon API seems to change with new versions. We haven’t checked 
yet what exactly has changed, and whether the API has changed again from 
version 11 to 12 .

Best,
Christian


On Fri, Mar 8, 2024 at 6:57 PM Andy Bunce 
mailto:bunce.a...@gmail.com>> wrote:
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 
mailto: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 mailto: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 
mailto:christian.gr...@gmail.com>> wrote:
Thanks, Andy, I’ve updated the documentation.

On Wed, May 4, 2022 at 3:12 PM Andy Bunce 
mailto: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:=http://www.w3.org/1999/XSL/Transform; 
version="3.0">



let $xml:=document{ , }
return xslt:transform-report($xml,$xslt)

Returns
map {
  "messages": (),
  "result": (, )
}






Re: [basex-talk] xslt:transform-report result

2024-03-11 Thread Christian Grün
Hi Andy,

Thanks for your edits, which I’ve just revised: It turns out that Saxon 10
is required for xslt:transform-report for both BaseX 10 and 11 beta. As
you’ve indicated, the Saxon API seems to change with new versions. We
haven’t checked yet what exactly has changed, and whether the API has
changed again from version 11 to 12 .

Best,
Christian


On Fri, Mar 8, 2024 at 6:57 PM Andy Bunce  wrote:

> 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 
> 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  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 
>>> wrote:
>>>
 Thanks, Andy, I’ve updated the documentation.

 On Wed, May 4, 2022 at 3:12 PM Andy Bunce  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:=http://www.w3.org/1999/XSL/Transform; version="3.0">
> 
> 
>
> let $xml:=document{ , }
> return xslt:transform-report($xml,$xslt)
>
> Returns
> map {
>   "messages": (),
>   "result": (, )
> }
>
>
>
>
>


Re: [basex-talk] xslt:transform-report result

2024-03-08 Thread Andy Bunce
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 
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  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 
>> wrote:
>>
>>> Thanks, Andy, I’ve updated the documentation.
>>>
>>> On Wed, May 4, 2022 at 3:12 PM Andy Bunce  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:=http://www.w3.org/1999/XSL/Transform; version="3.0">
 
 

 let $xml:=document{ , }
 return xslt:transform-report($xml,$xslt)

 Returns
 map {
   "messages": (),
   "result": (, )
 }







Re: [basex-talk] xslt:transform-report result

2022-05-04 Thread Christian Grün
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  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 
> wrote:
>
>> Thanks, Andy, I’ve updated the documentation.
>>
>> On Wed, May 4, 2022 at 3:12 PM Andy Bunce  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:=http://www.w3.org/1999/XSL/Transform; version="3.0">
>>> 
>>> 
>>>
>>> let $xml:=document{ , }
>>> return xslt:transform-report($xml,$xslt)
>>>
>>> Returns
>>> map {
>>>   "messages": (),
>>>   "result": (, )
>>> }
>>>
>>>
>>>
>>>
>>>


Re: [basex-talk] xslt:transform-report result

2022-05-04 Thread Andy Bunce
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 
wrote:

> Thanks, Andy, I’ve updated the documentation.
>
> On Wed, May 4, 2022 at 3:12 PM Andy Bunce  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:=http://www.w3.org/1999/XSL/Transform; version="3.0">
>> 
>> 
>>
>> let $xml:=document{ , }
>> return xslt:transform-report($xml,$xslt)
>>
>> Returns
>> map {
>>   "messages": (),
>>   "result": (, )
>> }
>>
>>
>>
>>
>>


Re: [basex-talk] xslt:transform-report result

2022-05-04 Thread Christian Grün
Thanks, Andy, I’ve updated the documentation.

On Wed, May 4, 2022 at 3:12 PM Andy Bunce  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:=http://www.w3.org/1999/XSL/Transform;
> version="3.0">
> 
> 
>
> let $xml:=document{ , }
> return xslt:transform-report($xml,$xslt)
>
> Returns
> map {
>   "messages": (),
>   "result": (, )
> }
>
>
>
>
>


[basex-talk] xslt:transform-report result

2022-05-04 Thread Andy Bunce
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:=http://www.w3.org/1999/XSL/Transform;
version="3.0">



let $xml:=document{ , }
return xslt:transform-report($xml,$xslt)

Returns
map {
  "messages": (),
  "result": (, )
}