[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: New XSLT 3.0 Working Draft

Subject: RE: New XSLT 3.0 Working Draft
From: Michele R Combs <mrrothen@xxxxxxx>
Date: Tue, 10 Jul 2012 18:01:00 +0000
RE:  New XSLT 3.0 Working Draft
Since relatively few folks adopted 2.0, what do we think the chances are of
3.0 being adopted?

Michele

-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
Sent: Tuesday, July 10, 2012 1:20 PM
To: Xsl-List
Subject:  New XSLT 3.0 Working Draft

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/.

There's an enormous amount of new material here.

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

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.