> Yes, need you to flesh out
>
> on-no-match="shallow-copy-all"
>
> of
>
https://balisage.net/Proceedings/vol27/html/Kay01/BalisageVol27-Kay01.html#d1
0153e637
> instead, the paper says
>
> For arrays, it does
>
> <xsl:apply-templates select="array:parcels(.)" mode="#current"/>
>
> that is, it wraps each of the array members into a parcel and processes
> each one separately.
>
> For maps, it does:
>
> <xsl:apply-templates select="map:entries()" mode="#current"/>
>
>
It actually does something akin to
<xsl:array>
<xsl:apply-templates select="array:parcels(.)" mode="#current"/>
</xsl:array>
or
<xsl:map>
<xsl:apply-templates select="map:entries()" mode="#current"/>
</xsl:map>
There's a lot of detail to be fleshed out in turning the sketch given in the
paper into a full specification. But thanks for the comment,
>
> Is <xsl:mode on-no-match="shallow-copy-all"/> behaviour definable with
> current or future XSLT elements?
Probably, but it would be pretty convoluted. These constructs take the
solutions to my XML Prague 2016 use cases from 100-200 lines of XSLT 3.0 code
down to 10-20 lines.
Michael Kay
Saxonica
|