Saxon PE Conflict

Post here questions and problems related to oXygen frameworks/document types.
Isabelle
Posts: 142
Joined: Fri Jan 20, 2017 1:11 pm

Saxon PE Conflict

Post by Isabelle »

Hello,

We use the version 25.0.0.0 of Oxygen sdk.
We also use external libraries which use saxon PE and we still have issues to make them worked together with Oxygen.

When we use functions from those libraries, we have this particular issue :
java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
com/.../.../.../.../.../SaxonPEUtils.getProcessor()Lnet/sf/saxon/s9api/Processor; @7: invokespecial
Reason:
Type 'com/saxonica/config/ProfessionalConfiguration' (current frame, stack[2]) is not assignable to 'net/sf/saxon/Configuration'
Current Frame:
bci: @7
flags: { }
locals: { }
stack: { uninitialized 0, uninitialized 0, 'com/saxonica/config/ProfessionalConfiguration' }
Bytecode:
0000000: bb00 1359 b800 14b7 0015 b04b bb00 1759
0000010: 2ab7 0018 bf
Exception Handler Table:
bci [0, 10] => handler: 11
Stackmap Table:
same_locals_1_stack_item_frame(@11,Object[#105])
Why do you need to patch saxon ?
Is it possible to exclude this jar ?
If no, is it possible to provide us a saxon PE patched to let us used saxon PE as we need it ?

It is a blocking point for us.
How can we make coexiste your saxon patched and saxon PE ?

Regards,
Isabelle
Radu
Posts: 9092
Joined: Fri Jul 09, 2004 5:18 pm

Re: Saxon PE Conflict

Post by Radu »

Hi Isabelle,

These look like class loading issues, when one class or interface is loaded from a JAR library and the implementation is loaded from a different JAR library.
Please see some comments below:
Why do you need to patch saxon ?
We have a lot of patches made to Saxon for various fixes, including Schematron validation, XML refactoring, XSLT debugging. I know you are not using some of these capabilities but there is no alternative.
Is it possible to exclude this jar ?
You can try this if you want, but we do not guarantee things will work, probably there will be localization problems for Schematron based validation for example, problems maybe with XML catalogs...
If no, is it possible to provide us a saxon PE patched to let us used saxon PE as we need it ?
Our legal department took the decision to provide with the Author Component a Saxon HE distribution instead of EE. If you want to know more about the specifics behind this decision you can email us (support@oxygenxml.com). But this is not something we can change.

Maybe a possible workaround would be to dynamically load at runtime those extra JAR libraries along with the Saxonica provided Saxon EE jar in a separate Java class loader and then use Java reflection to work with the class loader to access various classes from it.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
Post Reply