Saxon9ee licence for oxygen 18.1 missing?
Post here questions and problems related to editing and publishing DITA content.
-
- Posts: 29
- Joined: Thu Jun 21, 2012 6:47 pm
- Location: Victoria BC, Canada
Saxon9ee licence for oxygen 18.1 missing?
Our application is deployed as an add on. Since updating to 18.1 we are getting an error related to saxon9ee complaining that there is no licence...? Basic functionality is that we are exporting the document to WordML using an xslt file that makes a call back to our java api. This only works with the enterprise version of saxon and has been working for our add on since at least version 15. There error is:
Error at xsl:variable on line 192 column 79
XPST0017 XPath syntax error at char 0 on line 192 in {props:getProperty($element)}:
Cannot find a matching 1-argument function named
{java:ca.bc.gov.qp.civix.municipal.config.DocxProperties}getProperty(). Reflexive calls to
Java methods require a Saxon-PE or Saxon-EE license, and none was found
You can see the call back is not recognized and the error concludes with "Reflexive calls to
Java methods require a Saxon-PE or Saxon-EE license, and none was found". I reverted to oxygen 17 and the function works just fine. Is there a saxon licencing issue with 18.1?
Error at xsl:variable on line 192 column 79
XPST0017 XPath syntax error at char 0 on line 192 in {props:getProperty($element)}:
Cannot find a matching 1-argument function named
{java:ca.bc.gov.qp.civix.municipal.config.DocxProperties}getProperty(). Reflexive calls to
Java methods require a Saxon-PE or Saxon-EE license, and none was found
You can see the call back is not recognized and the error concludes with "Reflexive calls to
Java methods require a Saxon-PE or Saxon-EE license, and none was found". I reverted to oxygen 17 and the function works just fine. Is there a saxon licencing issue with 18.1?
-
- Posts: 9446
- Joined: Fri Jul 09, 2004 5:18 pm
Re: Saxon9ee licence for oxygen 18.1 missing?
Hi,
I need more details. Does your add-on also come with its own Saxon JAR libraries (and if so, what version?) or does it rely on the Saxon which comes with Oxygen 18.1 (which is the same one as in 18.0)?
How are you creating the XSLT transformer used to apply the XSLT transformation? Do you use our ro.sync.exml.workspace.api.util.XMLUtilAccess.createXSLTTransformer(Source, URL[], int)? API? Can you give me some Java source code from the place where you are doing this?
Can you also post the entire contents of your plugin.xml plugin descriptor file?
Regards,
Radu
I need more details. Does your add-on also come with its own Saxon JAR libraries (and if so, what version?) or does it rely on the Saxon which comes with Oxygen 18.1 (which is the same one as in 18.0)?
How are you creating the XSLT transformer used to apply the XSLT transformation? Do you use our ro.sync.exml.workspace.api.util.XMLUtilAccess.createXSLTTransformer(Source, URL[], int)? API? Can you give me some Java source code from the place where you are doing this?
Can you also post the entire contents of your plugin.xml plugin descriptor file?
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
<oXygen/> XML Editor
http://www.oxygenxml.com
-
- Posts: 29
- Joined: Thu Jun 21, 2012 6:47 pm
- Location: Victoria BC, Canada
Re: Saxon9ee licence for oxygen 18.1 missing?
Thanks Radu. This code snippet was how we were obtaining a transformer instance:
The only net.sf.saxon.TransformerFactoryImpl on the classpath is the one in Oxygen lib dir. You can see that we have a URIResolver that we pass to TransformerFactory which resolves xsl imports/includes to those in the frameworks dir etc. I have changed the code to use XMLUtilAccess.createXSLTTransformer as you suggested and this does clear up the issue:
However, you can see that we now have to add and then remove a PriorityURIResolver after obtaining a transformer. Perhaps there is a more elegant way of doing this?
Code: Select all
private static Transformer getTransformer(StreamSource xsl, URIResolver resolver) throws TransformerConfigurationException {
Transformer transformer;
// don't cache transformer if debug property present
if(Config.isDebugMode()) {
TransformerFactory tFactory = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl", null);
if(resolver != null)
{
tFactory.setURIResolver(resolver);
}
transformer = tFactory.newTransformer(xsl);
}
else {
// get one from cache
transformer = getCachedTransformer(xsl, resolver);
}
return transformer;
}
Code: Select all
private static Transformer getTransformer(AuthorAccess aa, StreamSource xsl, URIResolver resolver) throws TransformerConfigurationException {
Transformer transformer;
XMLUtilAccess access = aa.getXMLUtilAccess();
if(resolver != null){
access.addPriorityURIResolver(resolver);
}
transformer = access.createXSLTTransformer(xsl, null, XMLUtilAccess.TRANSFORMER_SAXON_ENTERPRISE_EDITION);
access.removePriorityURIResolver(resolver);
transformer.setURIResolver(resolver);
return transformer;
}
-
- Posts: 9446
- Joined: Fri Jul 09, 2004 5:18 pm
Re: Saxon9ee licence for oxygen 18.1 missing?
Hi,
Using our API will guarantee that the Saxon transformer that you get is fully licensed. But indeed instantiating the trasformer factory yourself should have also worked.
Do you happen to know if this also worked with 18.0?
Can you post the entire contents of your plugin.xml?
Regards,
Radu
Using our API will guarantee that the Saxon transformer that you get is fully licensed. But indeed instantiating the trasformer factory yourself should have also worked.
Do you happen to know if this also worked with 18.0?
Can you post the entire contents of your plugin.xml?
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
<oXygen/> XML Editor
http://www.oxygenxml.com
-
- Posts: 29
- Joined: Thu Jun 21, 2012 6:47 pm
- Location: Victoria BC, Canada
Re: Saxon9ee licence for oxygen 18.1 missing?
We are providing our code as an add-on so do not have a plugin.xml unfortunately. We used to run the code on 15 to ver 17 no problem. We updated directly to 18.1 when the issue appeared. I like the idea of accessing a transformer directly through your api so am happy to make the code change. Aside from the plugin.xml, is there anything else i can provide?
-
- Posts: 9446
- Joined: Fri Jul 09, 2004 5:18 pm
Re: Saxon9ee licence for oxygen 18.1 missing?
Hi,
We use the term "add-on" to refer to a bundle which contains either a plugin or a framework. The add-on can be installed using our add-on installation support. So I suspect that you do have a plugin and that plugin should have an XML descriptor file. Otherwise, could you tell me more about what your add-on contains and how you install it?
Regards,
Radu
We use the term "add-on" to refer to a bundle which contains either a plugin or a framework. The add-on can be installed using our add-on installation support. So I suspect that you do have a plugin and that plugin should have an XML descriptor file. Otherwise, could you tell me more about what your add-on contains and how you install it?
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
<oXygen/> XML Editor
http://www.oxygenxml.com
Return to “DITA (Editing and Publishing DITA Content)”
Jump to
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ Artificial Intelligence (AI Positron Assistant add-on)
- ↳ SDK-API, Frameworks - Document Types
- ↳ DocBook
- ↳ TEI
- ↳ XHTML
- ↳ Other Issues
- Oxygen XML Web Author
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Content Fusion
- ↳ Feature Request
- ↳ Common Problems
- Oxygen JSON Editor
- ↳ Feature Request
- ↳ Common Problems
- Oxygen PDF Chemistry
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Feedback
- ↳ Feature Request
- ↳ Common Problems
- Oxygen XML WebHelp
- ↳ Feature Request
- ↳ Common Problems
- XML
- ↳ General XML Questions
- ↳ XSLT and FOP
- ↳ XML Schemas
- ↳ XQuery
- NVDL
- ↳ General NVDL Issues
- ↳ oNVDL Related Issues
- XML Services Market
- ↳ Offer a Service