Discussion:
[saxon] XSLT 3.0 and Saxon 9.8
Michael Kay
2017-06-08 17:25:47 UTC
Permalink
XSLT 3.0 becomes a Recommendation today!

We kept you waiting for ten years, but it has finally happened.

A reminder of some of the key features:

* Streaming

* Separately compiled packages

* Higher-order functions

* JSON, maps, and arrays

and of course lots of goodies like trigonometric functions, dynamic XPath evaluation, a string concatenation operator, text value templates, a random number generator, and a function chaining operator.

As a bonus, we thought you'd like an open-source implementation.

So Saxon 9.8 is released today, and the open source Saxon-HE version now includes core support for XSLT 3.0 with XPath 3.1.

There are lots of other new things in Saxon 9.8:

* just-in-time compilation to reduce the cost of loading vast stylesheets like DocBook and DITA when you're only using a fraction of the template rules

* hot-spot bytecode generation, again to put the compilation effort where it's needed

* optimization of template rule sets like those found in DITA where the matching is all on attribute values rather than element names

* a new approach to processing of DOM trees, which are now only twice as slow as Saxon's native TinyTree compared with 5-10 times slower the old way

* some experimental syntax enhancements to enrich the type system: tuple types, union types, and type aliases

* bytecode generation for validation of user-defined simple types in XSD

At the same time as moving foward to XSLT 3.0, we're dropping support for older versions of the specs, so you can no longer run in XQuery 1.0 or XSLT 2.0 mode, for example - your code should continue to work, because the specs have a high level of backwards compatibility. A particular decision that will affect some of you is that we're dropping XSLT 1.0 backwards compatibility mode from Saxon-HE, and hope to eliminate it entirely in due course.

Saxon-HE is available at http://saxon.sf.net/

Saxon-PE and -EE are at http://www.saxonica.com - follow the links to products, downloads, and documentation.
Max Toro
2017-06-08 19:30:38 UTC
Permalink
Congrats!

Doc typo at http://www.saxonica.com/html/documentation/extensions/instructions/array.html
Example uses xsl:array instead of saxon:array
--
Max Toro
Post by Michael Kay
XSLT 3.0 becomes a Recommendation today!
We kept you waiting for ten years, but it has finally happened.
* Streaming
* Separately compiled packages
* Higher-order functions
* JSON, maps, and arrays
and of course lots of goodies like trigonometric functions, dynamic XPath evaluation, a string concatenation operator, text value templates, a random number generator, and a function chaining operator.
As a bonus, we thought you'd like an open-source implementation.
So Saxon 9.8 is released today, and the open source Saxon-HE version now includes core support for XSLT 3.0 with XPath 3.1.
* just-in-time compilation to reduce the cost of loading vast stylesheets like DocBook and DITA when you're only using a fraction of the template rules
* hot-spot bytecode generation, again to put the compilation effort where it's needed
* optimization of template rule sets like those found in DITA where the matching is all on attribute values rather than element names
* a new approach to processing of DOM trees, which are now only twice as slow as Saxon's native TinyTree compared with 5-10 times slower the old way
* some experimental syntax enhancements to enrich the type system: tuple types, union types, and type aliases
* bytecode generation for validation of user-defined simple types in XSD
At the same time as moving foward to XSLT 3.0, we're dropping support for older versions of the specs, so you can no longer run in XQuery 1.0 or XSLT 2.0 mode, for example - your code should continue to work, because the specs have a high level of backwards compatibility. A particular decision that will affect some of you is that we're dropping XSLT 1.0 backwards compatibility mode from Saxon-HE, and hope to eliminate it entirely in due course.
Saxon-HE is available at http://saxon.sf.net/
Saxon-PE and -EE are at http://www.saxonica.com - follow the links to products, downloads, and documentation.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
https://lists.sourceforge.net/lists/listinfo/saxon-help
Christophe Marchand
2017-06-08 20:05:43 UTC
Permalink
Congratulations to all of you, spec redactors and implementors !

Best regards,
Christophe
Post by Michael Kay
XSLT 3.0 becomes a Recommendation today!
We kept you waiting for ten years, but it has finally happened.
* Streaming
* Separately compiled packages
* Higher-order functions
* JSON, maps, and arrays
and of course lots of goodies like trigonometric functions, dynamic XPath evaluation, a string concatenation operator, text value templates, a random number generator, and a function chaining operator.
As a bonus, we thought you'd like an open-source implementation.
So Saxon 9.8 is released today, and the open source Saxon-HE version now includes core support for XSLT 3.0 with XPath 3.1.
* just-in-time compilation to reduce the cost of loading vast stylesheets like DocBook and DITA when you're only using a fraction of the template rules
* hot-spot bytecode generation, again to put the compilation effort where it's needed
* optimization of template rule sets like those found in DITA where the matching is all on attribute values rather than element names
* a new approach to processing of DOM trees, which are now only twice as slow as Saxon's native TinyTree compared with 5-10 times slower the old way
* some experimental syntax enhancements to enrich the type system: tuple types, union types, and type aliases
* bytecode generation for validation of user-defined simple types in XSD
At the same time as moving foward to XSLT 3.0, we're dropping support for older versions of the specs, so you can no longer run in XQuery 1.0 or XSLT 2.0 mode, for example - your code should continue to work, because the specs have a high level of backwards compatibility. A particular decision that will affect some of you is that we're dropping XSLT 1.0 backwards compatibility mode from Saxon-HE, and hope to eliminate it entirely in due course.
Saxon-HE is available at http://saxon.sf.net/
Saxon-PE and -EE are at http://www.saxonica.com - follow the links to products, downloads, and documentation.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
https://lists.sourceforge.net/lists/listinfo/saxon-help
Martin Honnen
2017-06-08 20:09:37 UTC
Permalink
Post by Michael Kay
XSLT 3.0 becomes a Recommendation today!
We kept you waiting for ten years, but it has finally happened.
* Streaming
* Separately compiled packages
* Higher-order functions
* JSON, maps, and arrays
and of course lots of goodies like trigonometric functions, dynamic XPath evaluation, a string concatenation operator, text value templates, a random number generator, and a function chaining operator.
As a bonus, we thought you'd like an open-source implementation.
So Saxon 9.8 is released today, and the open source Saxon-HE version now includes core support for XSLT 3.0 with XPath 3.1.
Simply wonderful, thanks a lot.

Now for the funny part, it seems the code comment in
https://dev.saxonica.com/repos/archive/opensource/trunk/bj/net/sf/saxon/Transform.java
never caught up with all the years of spec and version development as it
still says:

/**
* This <B>Transform</B> class is the entry point to the Saxon XSLT
Processor. This
* class is provided to control the processor from the command line.<p>
* <p/>
* The XSLT syntax supported conforms to the W3C XSLT 1.0 and XPath 1.0
recommendation.
Debbie
2017-06-13 10:54:29 UTC
Permalink
Post by Martin Honnen
Post by Michael Kay
So Saxon 9.8 is released today, and the open source Saxon-HE version
now includes core support for XSLT 3.0 with XPath 3.1.
Simply wonderful, thanks a lot.
Now for the funny part, it seems the code comment in
https://dev.saxonica.com/repos/archive/opensource/trunk/bj/net/sf/saxon/Transform.java
never caught up with all the years of spec and version development as
/**
* This <B>Transform</B> class is the entry point to the Saxon XSLT
Processor. This
* class is provided to control the processor from the command line.<p>
* <p/>
* The XSLT syntax supported conforms to the W3C XSLT 1.0 and XPath
1.0 recommendation.
Hi Martin,

I can certainly believe that there are code comments in the 9.8 product
that are out of date (though we do our best maintain them), but it seems
that you are looking in the wrong place in this instance.

https://dev.saxonica.com/repos/archive/opensource/trunk/bj is actually
the code for the old Saxon-B product, so the comment is actually correct
there!

The 9.8 code is not under https://dev.saxonica.com/repos/archive/ just
yet, so currently for the latest 9.8 code you should refer to
SourceForge: https://sourceforge.net/projects/saxon/files/Saxon-HE/9.8/

The 9.7 code is of course found under
https://dev.saxonica.com/repos/archive/opensource/latest9.7

Debbie
--
Debbie Lockett
Saxonica
Martin Honnen
2017-06-13 11:51:41 UTC
Permalink
Post by Debbie
Post by Martin Honnen
Post by Michael Kay
So Saxon 9.8 is released today, and the open source Saxon-HE version
now includes core support for XSLT 3.0 with XPath 3.1.
Simply wonderful, thanks a lot.
Now for the funny part, it seems the code comment in
https://dev.saxonica.com/repos/archive/opensource/trunk/bj/net/sf/saxon/Transform.java
never caught up with all the years of spec and version development as
/**
* This <B>Transform</B> class is the entry point to the Saxon XSLT
Processor. This
* class is provided to control the processor from the command line.<p>
* <p/>
* The XSLT syntax supported conforms to the W3C XSLT 1.0 and XPath
1.0 recommendation.
Hi Martin,
I can certainly believe that there are code comments in the 9.8 product
that are out of date (though we do our best maintain them), but it seems
that you are looking in the wrong place in this instance.
https://dev.saxonica.com/repos/archive/opensource/trunk/bj is actually
the code for the old Saxon-B product, so the comment is actually correct
there!
Sorry then, I thought trunk to be the latest version. Although even
Saxon-B since 8.9 implemented XSLT and XPath 2.0 and not 1.0. But not
important anyway now with XSLT 3.0 and XPath 3.1 to be explored with
Saxon 9.8.
Post by Debbie
The 9.8 code is not under https://dev.saxonica.com/repos/archive/ just
yet, so currently for the latest 9.8 code you should refer to
SourceForge: https://sourceforge.net/projects/saxon/files/Saxon-HE/9.8/
Thanks, will look there.

Dimitre Novatchev
2017-06-08 20:37:19 UTC
Permalink
Congrats for getting things done!

Tremendous achievement and will need at least 3 - 5 years to be
understood and to start to be used on a regular basis by a substantial
developers base.

Hope soon to see tuple types, union types, and type aliases in XSLT 4 .

I was lucky and honored to have worked with the WG for a short, 2-year period.

Thanks for your incredible contribution to the language and to the community.


Cheers,
Dimitre
Post by Michael Kay
XSLT 3.0 becomes a Recommendation today!
We kept you waiting for ten years, but it has finally happened.
* Streaming
* Separately compiled packages
* Higher-order functions
* JSON, maps, and arrays
and of course lots of goodies like trigonometric functions, dynamic XPath evaluation, a string concatenation operator, text value templates, a random number generator, and a function chaining operator.
As a bonus, we thought you'd like an open-source implementation.
So Saxon 9.8 is released today, and the open source Saxon-HE version now includes core support for XSLT 3.0 with XPath 3.1.
* just-in-time compilation to reduce the cost of loading vast stylesheets like DocBook and DITA when you're only using a fraction of the template rules
* hot-spot bytecode generation, again to put the compilation effort where it's needed
* optimization of template rule sets like those found in DITA where the matching is all on attribute values rather than element names
* a new approach to processing of DOM trees, which are now only twice as slow as Saxon's native TinyTree compared with 5-10 times slower the old way
* some experimental syntax enhancements to enrich the type system: tuple types, union types, and type aliases
* bytecode generation for validation of user-defined simple types in XSD
At the same time as moving foward to XSLT 3.0, we're dropping support for older versions of the specs, so you can no longer run in XQuery 1.0 or XSLT 2.0 mode, for example - your code should continue to work, because the specs have a high level of backwards compatibility. A particular decision that will affect some of you is that we're dropping XSLT 1.0 backwards compatibility mode from Saxon-HE, and hope to eliminate it entirely in due course.
Saxon-HE is available at http://saxon.sf.net/
Saxon-PE and -EE are at http://www.saxonica.com - follow the links to products, downloads, and documentation.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
https://lists.sourceforge.net/lists/listinfo/saxon-help
Martin Honnen
2017-06-08 20:41:58 UTC
Permalink
Post by Dimitre Novatchev
Tremendous achievement and will need at least 3 - 5 years to be
understood and to start to be used on a regular basis by a substantial
developers base.
Are you helping developers to get up-to-date with another Pluralsight
course?
Vasu Chakkera
2017-06-08 21:24:46 UTC
Permalink
Congratulations to all the developers,testers and the members of user
groups who helped make this happen.
Vasu Chakkera
Post by Dimitre Novatchev
Tremendous achievement and will need at least 3 - 5 years to be
Post by Dimitre Novatchev
understood and to start to be used on a regular basis by a substantial
developers base.
Are you helping developers to get up-to-date with another Pluralsight
course?
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
saxon-help mailing list archived at http://saxon.markmail.org/
https://lists.sourceforge.net/lists/listinfo/saxon-help
Loading...