Project

Profile

Help

Is SAXON-EE 9.8 backward compatible to SAXON 8.9

Added by Marijn Sanderse over 6 years ago

Hi,

Since we need to migrate our existing MOM solution (SonicESB 2013) running Saxon 8.9.0.4 to java 8 we recently purchased Saxon EE 9.8.0.6J. Should 9.8 be backward compatible to 8.9 or can we expect problems? Are there any areas you can point out we should specifically target when testing our new setup?

Thanks in adavance


Replies (1)

RE: Is SAXON-EE 9.8 backward compatible to SAXON 8.9 - Added by Michael Kay over 6 years ago

That's a big move - Saxon 8.9 dates from around 2009 and there have been 9 major releases since then. We try to keep the changes from one major release to the next as small as possible, but they multiply over time, and if you make a big leap forward then you don't benefit from the steps we take such as deprecating something in one release before removing it in the next.

In terms of Java APIs, 8.9 predates the introduction of the s9api API, so you're presumably using JAXP. JAXP hasn't changed in theory, but it has been "clarified" over the years in many details (often changing the documentation to reflect the quirks in the Xalan implementation) and we have changed where necessary to fit what the spec says. Of course, this only affects edge cases. Much more likely to be a problem is where you stray outside the strict JAXP interfaces and use Saxon-specific classes and methods. If your code does that then it's very likely that you will need to make changes. Hopefully you'll get compile errors that tell you where things have broken, and then it's just a question of working out what changes need to be made to fix these areas.

As regards W3C XSLT and XPath, there are no significant incompatibilities between the 3.0/3.1 versions of the spec and the 2.0 versions, so the only differences are likely to be bug fixes, which again are only likely to affect edge cases. But if you're using Saxon extensions you're more likely to hit problems. In many cases if a Saxon extension has been superseded by new functionality in XSLT 3.0 or XPath 3.1, then we have dropped the Saxon extension and have encouraged users to migrate to using the new W3C equivalent. You'll hit this quickly as a static error in your stylesheets, so at least you will know quickly whether you have a problem or not.

    (1-1/1)

    Please register to reply