saxon-node icon indicating copy to clipboard operation
saxon-node copied to clipboard

Saxon/C 1.2.0 Major Release is out

Open ond1 opened this issue 6 years ago • 8 comments

We are pleased to announce the release of Saxon/C 1.2.0.

This is a major release of Saxon/C on Linux, Mac OS X and Windows. We have made a number of changes and fixed several bugs in the new release. With this release, support for the Python language is also now available, in addition to the C/C++ and PHP languages already supported. Saxon/C is available in the following products: Saxon-HE/C, Saxon-PE/C and Saxon-EE/C.

Saxon/C home page

Documented changes in the release:

  • Updated the core XSLT processor to the Java Saxon 9.9.1.5 version.

  • Updated to Excelsior JET Enterprise 15.3 (MP1) - the cross compiler for Saxon

  • Updated APIs: Support for XSLT 3.0, XQuery 3.1, XPath 3.1 and Schema Validation 1.0/1.1

  • XML Catalog file now supported in Saxon/C

  • Support of Saxon's XSLT export SEF file.

  • Added a feature rich XSLT30 processor API to the languages: C++, PHP 7.2 and Python. Therefore we now have two XSLT Processor classes for each language supported: C++ APIs: XsltProcessor.h, Xslt30Processor.h

      Python APIs: PyXsltProcessor and PyXslt30Processor
      PHP APIs: Saxon/XsltProcessor and Saxon/Xslt30Processor
    

We would think something similar would need to be done in saxon-node.

For a full list of bug fixes see: Release Notes

ond1 avatar Oct 17 '19 14:10 ond1

hi @ond1

I'll test it out and update if anything needs it. Thank you!

rimmartin avatar Oct 20 '19 18:10 rimmartin

it is compiling and running the XsltProcessor with it's tests! Travis build on linux and mac passing.

I started an interface for the Xslt 3.0 processor and will make a new set of unit tests based on it

rimmartin avatar Oct 21 '19 00:10 rimmartin

Hi @ond1,

any way to tell at compile time which edition? bool isSchemaAware(); is unresolved link error on windows HE/C. Would like to avoid it when the user is using the HE/C however when they have a license from you, they can run EE/C or PE/C through this nodejs interface. This nodejs interface is purely MIT license. Only if a user buys a license from you are the P & E features available to them. What do you think?

rimmartin avatar Oct 24 '19 00:10 rimmartin

Hi @rimmartin, The isSchemaAware() method can be avoided. Under HE that method just returns false. The HE/C code download comes without the PE & EE code base so it won't attempt to run commercial features. Also at compile time without a licensed version certain features will fail and they will see an error telling them that feature requires a license.

ond1 avatar Oct 24 '19 08:10 ond1

Under HE isSchemaAware doesn't have an implementation and the windows build crashes. I sed'd it out to make it get past it.

saxon-node isn't locked to HE/C. If one of your customers has a EE or PE license it used to work for them. I only build with HE/C because I'm not a company; just a hobbyist:-)

rimmartin avatar Oct 24 '19 21:10 rimmartin

Oh yes. That is an omission on our part. I will raise a bug issue against it. The bug fix will be in the next maintenance release, which is a few days away.

Thank and kind regards,

O'Neil

On 24 Oct 2019, at 22:05, rimmartin [email protected] wrote:

Under HE isSchemaAware doesn't have an implementation and the windows build crashes. I sed'd it out to make it get past it.

saxon-node isn't locked to HE/C. If one of your customers has a EE or PE license it used to work for them. I only build with HE/C because I'm not a company; just a hobbyist:-)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rimmartin/saxon-node/issues/24?email_source=notifications&email_token=AA3XSMCDMXHU6PSFUZ4QSCLQQIE2PA5CNFSM4JB2JBPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECGN7KI#issuecomment-546103209, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA3XSMCLMCFNGEYB3MEEBTDQQIE2PANCNFSM4JB2JBPA.

ond1 avatar Oct 24 '19 23:10 ond1

I have added the implementation for this method in the C++, PHP and Python APIs.

In the C++ API I had to rename the isSchemaAware method to isSchemaAwareProcessor due to some ambiguities with the method name when called in cython. Bug fixed and available in the next maintenance release. See bug issue: https://saxonica.plan.io/issues/4360

ond1 avatar Oct 25 '19 09:10 ond1

Thank you much, @ond1 :+1:

rimmartin avatar Oct 25 '19 16:10 rimmartin