xsl-list
[Top] [All Lists]

[xsl] [ANN] Saxon 11.1

2022-02-02 03:52:16
We are delighted to announce Saxon 11.1, a raft of new products covering three 
language platforms (SaxonJ, SaxonCS, and SaxonC), all built from the same 
source code. The software can be downloaded from the usual places (see 
www.saxonica.com) though a few corners of the website have yet to be updated.

For SaxonJ (Java), this is the first major release in nearly two years. There's 
a long list of detailed changes that you can find in the documentation, but the 
main highlights are:

* New functions and syntax extensions, some of them experimental. Some are very 
simple, for example, "A otherwise B" selects A if it exists, otherwise it 
selects B. Some are more complex and powerful, such as the saxon:update and 
saxon:deep-update instructions in XSLT. Please try them out and give us 
feedback.

* A new framework for resolving URIs that refer to external resources, 
integrating catalog-based resolution where appropriate.

* Most callbacks are now provided via functional interfaces, allowing them to 
be easily written as lambda expressions.

* Timezone handling has moved forward to the modern Java date/time libraries.

* Numerous minor changes to make JSON processing easier

Internally, there's a set of classes for handling Unicode strings. The main 
motivation for this was to allow common code across Java and C#, but it also 
improves speed and reduces memory requirements for many string handling 
operations. The effect is not uniform however; for very simple transformations 
of documents consisting exclusively of ASCII text, there is generally a memory 
saving but a small overhead in processing time.

For SaxonCS (.NET 5 and 6 on Windows, Mac, and Linux), this is essentially a 
bug-fixing release for 11.0. The most important issues fixed relate to 
localisation (in particular, running on machines whose default Culture setting 
is not English). For a full list of fixed bugs, please go to 
https://saxonica.plan.io/projects/saxon/issues and filter the list of bugs for 
those labelled as "fixed in maintenance release 11.1". In addition to bug 
fixes, there are some functional changes:

  * As with SaxonJ, there is a new framework for resolving URIs, based on the 
C# version of the catalog-based xml resolver. The use of the 
System.Xml.XmlResolver interface has been largely discontinued, except where 
needed for interoperation with the Microsoft parser, because of its 
inflexibility in handling different kinds of resources.

  * A few new API methods are implemented to plug gaps, in response to user 
feedback

  * XQuery Update is fully supported (in 11.0 the code was present but largely 
untested).

SaxonCS on Mac is still awaiting notarization from Apple; until that's achieved 
there may be security warnings when you download it.

For SaxonC (C++, Python, and PHP, on Windows, Mac, and Linux) this is the first 
release since 2019.

* The Java code base has moved forward from 9.9 to 11.1, and the build process 
is now integrated with SaxonJ and SaxonCS so that bug fixes can be applied 
simultaneously to all three products.

* There are improvements in multi-threading, when multiple transformations 
using the same stylesheet are executed in parallel in a web server

* Memory management of XDM objects is improved

* Localization (using ICU-J) is improved

* Handling of Unicode strings in the various language APIs is improved, 
reducing the scope for encoding issues.

* There are many API extensions and improvements for all three languages (C++, 
Python, and PHP)

Michael Kay
Saxonica
--~----------------------------------------------------------------
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>
  • [xsl] [ANN] Saxon 11.1, Michael Kay mike(_at_)saxonica(_dot_)com <=