Subject: [xsl] XSLT 3.0 features in Saxon 9.5 From: Michael Kay <mike@xxxxxxxxxxxx> Date: Wed, 24 Apr 2013 18:29:03 +0100 |
I thought that some of you who like to stay close to the bleeding edge might like to try out some of the new XSLT 3.0 features implemented in Saxon 9.5. These include: * composite grouping keys for example <xsl:for-each-group group-by="first, last" composite="yes"> * accumulators (a big subject that deserves a tutorial) * xsl:number start-at="5" to start numbering from something other than 1. * xsl:assert * xsl:map and xsl:map-entry so you can now construct maps at the XSLT level, not only at the XPath level * content value templates, for example <title>Chapter {$number}</title> - needs to be enabled with expand-text="yes" for compatibility reasons - unlike XQuery, the expansion always yields a string, not elements or attributes. Accumulators, like xsl:iterate and some other XSLT 3.0 features, were introduced primarily for streaming use cases, but I think they might well prove handy even where streaming isn't a requirement. They basically give you the ability to compute a value during a tree-walk of a document, passing the accumulated value both up and down the tree; in FP terms, a sort of tree-fold operation. If we didn't already have xsl:key, for example, you could use an accumulator to construct an index for a document in the form of a map. I'm sure there are people on this list who will come up with creative applications for them... Saxon releases don't coincide exactly with W3C working drafts so some of the features implemented in 9.5 won't actually be published until the next WD, and in some cases there may have been spec changes between the last public WD and the Saxon implementation. I did say it was bleeding edge. Michael Kay Saxonica
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to make auto row-span, Toshihiko Makita | Thread | Re: [xsl] XSLT 3.0 features in Saxo, davep |
Re: [xsl] How to make auto row-span, G. Ken Holman | Date | Re: [xsl] How to make auto row-span, G. Ken Holman |
Month |