Subject: Re: [xsl] New XSLT 3.0 Working Draft From: Tommie Usdin <btusdin@xxxxxxxxxxxxxxxx> Date: Thu, 12 Jul 2012 11:10:20 -0400 |
On Jul 10, 2012, at 1:20 PM, Michael Kay wrote: > There's a new Working draft of XSLT 3.0 - the first new public draft for 2 years - at http://www.w3.org/TR/xslt-30/. Very cool! (Some of us now have a lot of reading to do!) > > There's an enormous amount of new material here. And some of it very important. I intend to start with "J Changes since XSLT 2.0" (http://www.w3.org/TR/xslt-30/#changes-since-2.0), in hopes that it will help me focus on the new and not get distracted with details of 2.0 that I haven't thought about. Thank-you to the whole working group! -- Tommie > > Big features: > > - Streaming - > > The analysis of streamability has been greatly simplified: it no longer requires any complex data flow analysis. This is achieved largely by not allowing variables to be bound to the nodes in a streamed document. Apart from that, most of the new features introduced for the benefit of streaming, such as xsl:iterate and xsl:stream, are largely intact. > > A major innovation is the introduction of "accumulators", values associated with nodes that can be computed during a streaming pass of a document; they have the usability of mutable variables while being defined in a purely functional way, and are sufficiently constrained that they don't inhibit optimization. > > - Packages - > > Intended for independent compilation of stylesheet components: they allow stylesheets to distinguish which components are internal and which are visible to the outside world. Gives general software engineering benefits by separating interface from implementation; allows constraining of what can be overridden/customized and makes overriding type-safe. > > - Maps - > > A new data type, similar to the dictionaries or associative arrays in other languages. The keys in the map can be any atomic value; the associated value can be any value whatsoever. A particular motivation for maps was that with streaming, you only get to see each thing in a document once, so you need to remember what you've seen for use later (for example, in an accumulator); so you need a richer data structure for holding this data. Maps also provide a useful mechanism for importing/exporting data to/from JSON format (for which there are new functions). > > - Higher-order functions - > > More an XPath feature than an XSLT one, functions are now first-class values and can be passed as parameters to functions, returned by functions, held in maps, etc etc. > > Other things include: > > * xsl:try/catch > > * xsl:evaluate > > * xsl:assert > ====================================================================== B. Tommie Usdin mailto:btusdin@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Phone: 301/315-9631 Suite 207 Direct Line: 301/315-9634 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] New XSLT 3.0 Working Draf, Michael Kay | Thread | [xsl] XML/XSLT Developer - Oxford|L, David Carrier |
Re: [xsl] [FO] image on even, table, Geert Bormans | Date | Re: [xsl] New XSLT 3.0 Working Draf, Tommie Usdin |
Month |