[Top] [All Lists]

Re: [xsl] What's the best feature in XSLT 3?

2019-10-03 14:30:11
For me it’s probably maps, as it allows structured results. Iterate helps a lot 
in some cases (e.g. processing static variables in an XSLT compiler ;-)).

Dark horses might be accumulators (though I admit to never having used keys in 
2.0) which are slowly growing on me.

And without xsl:evaluate an XSLT compiler in XSLT would be considerably more 
complex. I should also of course use packaging .... real soon now....

John Lumley

Sent from my iPad

On 3 Oct 2019, at 20:09, Martynas Jusevičius 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

To me I think it's streaming, because it enables transformations on
large data which simply were not possible before.
But it's probably the most complex, too.

On Thu, Oct 3, 2019 at 8:19 PM Graydon graydon(_at_)marost(_dot_)ca
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

On Thu, Oct 03, 2019 at 04:59:28PM -0000, Liam R. E. Quin 
liam(_at_)fromoldbooks(_dot_)org scripsit:
While i was preparing for a course on XSLT 3 later this month, i
wondered whether other people would have favourite features that were
introduced in XSLT 3. I know i do.

What do you find most useful? Or like the best?

Maps.  I find maps are hands-down the single most useful thing in XSLT 3. 
if that's technically 3.1.)

xsl:mode can clearly do much more than I use it for, but the one-line
identity template version is a boon to multi-pass processing.

The general... compactness of expression?  I'm not sure what to call it.

<xsl:variable as="xs:integer" name="splitPos" select="min($kids[label = 
$labelKeys] ! index-of($kids, .))" />

is certainly *possible* in XSLT 1.0, but I'm pretty sure I couldn't
write it like that.  Possibly better phrased as "it's been awhile since
I was annoyed by the lack of function".

-- Graydon

XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com

<Prev in Thread] Current Thread [Next in Thread>