You could try
<xsl:message select="serialize($value, map{ 'method':'adaptive' })"/>
The "adaptive" serialization method is new in 3.1, the specification is still
not 100% stable, and the Saxon implementation may not be final. It's designed
to allow anything to be serialized without any failures.
The fn:serialize() function with a map argument is also new in 3.1, it's in
draft specs that are not yet published, but implemented in Saxon 9.7.
xsl:message itself is still specified as producing XML output. Perhaps we
should have changed that.
Michael Kay
Saxonica
> On 29 Nov 2015, at 19:43, Martin Honnen martin.honnen@xxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Michael Kay mike@xxxxxxxxxxxx wrote:
>
>> 9.7 also includes a complete implementation of XPath 3.1 and XQuery
>> 3.1. In fact, it implements new features in these specs that W3C
>> haven't yet published. Many of the new features including maps and
>> arrays are in the open-source HE product, though for higher-order
>> functions you need to move to the Professional Edition.
>
> Now that maps and arrays are part of the type system, is there any easy way
to output a map or an array for debugging with xsl:message?
>
> I get error messages "Cannot add an array to a tree" respectively "Cannot
add a map to a tree" when trying to have an array respectively a map as the
select value of an xsl:message.
|