Can I use SaxonEE in DITA ANT transformation?
Here should go questions about transforming XML with XSLT and FOP.
-
- Posts: 116
- Joined: Fri Apr 08, 2011 7:58 am
Can I use SaxonEE in DITA ANT transformation?
Hi,
This is very basic question.
For a long time I used DITA-OT 1.7.5 for plug-in development with DITA-OT bundled SaxonB-9.1.
Now I found a (possible) bug in 9.1. So I want to test it with oXygen 16.0 bundled newest SaxonEE.
1. I added following -lib paramater to ANT transoformation scenario.
-lib C:\PROGRA~1\OXYGEN~2\lib\saxon9ee.jar
2. But Saxon failed with error that he cannot found external Java function. This is not occur in SaxonB-9.1.
This error frequently occurs when Saxon runs in HE (Home edition) mode.
Can I run SaxonEE from ANT transformation scenario enabling external Java function call?
Any suggestions are welcome.
Regards,
Toshihiko Makita
This is very basic question.
For a long time I used DITA-OT 1.7.5 for plug-in development with DITA-OT bundled SaxonB-9.1.
Now I found a (possible) bug in 9.1. So I want to test it with oXygen 16.0 bundled newest SaxonEE.
1. I added following -lib paramater to ANT transoformation scenario.
-lib C:\PROGRA~1\OXYGEN~2\lib\saxon9ee.jar
2. But Saxon failed with error that he cannot found external Java function. This is not occur in SaxonB-9.1.
Code: Select all
transform.merged:
[xslt] Processing D:\My_Documents\XML2011\xxx\testdata\20140899-diff-html\en-US\workset\temp\20140899_diff_MERGED.xml to D:\My_Documents\XML2011\xxx\testdata\20140899-diff-html\en-US\workset\temp\20140899_diff_CONVERTED.xml
[xslt] Loading stylesheet D:\DITA-OT\DITA-OT1.7.5-bil\plugins\co.xxx.review_pdf\xsl\dita2fo_convmerged.xsl
[xslt] D:\DITA-OT\DITA-OT1.7.5-bil\plugins\co.xxx.pdf.common\xsl\dita2fo_convmerged_sorting_table.xsl:142:146: Fatal Error! Cannot find a matching 3-argument function named {java:jp.co.antenna.ah_i18n_glossary.GlossarySortSaxon9}glossarySortSaxon9(). For diagnostics on calls to Java methods, use the -TJ command line option or set the Configuration property FeatureKeys.TRACE_EXTERNAL_FUNCTIONS
[xslt] Failed to process D:\My_Documents\XML2011\xxx\testdata\20140899-diff-html\en-US\workset\temp\20140899_diff_MERGED.xml
Can I run SaxonEE from ANT transformation scenario enabling external Java function call?
Any suggestions are welcome.
Regards,
Toshihiko Makita
--
/*--------------------------------------------------
Toshihiko Makita
Development Group. Antenna House, Inc. Ina Branch
Web site:
http://www.antenna.co.jp/
http://www.antennahouse.com/
--------------------------------------------------*/
/*--------------------------------------------------
Toshihiko Makita
Development Group. Antenna House, Inc. Ina Branch
Web site:
http://www.antenna.co.jp/
http://www.antennahouse.com/
--------------------------------------------------*/
-
- Posts: 9431
- Joined: Fri Jul 09, 2004 5:18 pm
Re: Can I use SaxonEE in DITA ANT transformation?
Hi Toshihiko,
The Saxon EE owner (Michael Kay) licensed it to Oxygen with the condition that it should only be run as licensed when a transformation is started from Oxygen.
Did you configure and run an ANT transformation scenario from Oxygen?
If you create and invoke an ANT transformation scenario from Oxygen it is possible to run with a licensed version of Saxon EE.
In the created ANT transformation scenario, in the "Options" tab there is a "Libraries" button:
http://www.oxygenxml.com/doc/ug-oxygen/ ... s-tab.html
which you can click and add references to required libraries. It is important that in the libraries list, before the reference to Oxygen's Saxon EE libraries you should add references to the following libraries:
which are the trick to registering the Saxon EE libraries.
Another way to do this would be to create a transformation scenario in Oxygen of type DITA OT and change in it the path to the used DITA Open Toolkit installation:
http://www.oxygenxml.com/doc/ug-oxygen/ ... ta-ot.html
Regards,
Radu
The Saxon EE owner (Michael Kay) licensed it to Oxygen with the condition that it should only be run as licensed when a transformation is started from Oxygen.
Did you configure and run an ANT transformation scenario from Oxygen?
If you create and invoke an ANT transformation scenario from Oxygen it is possible to run with a licensed version of Saxon EE.
In the created ANT transformation scenario, in the "Options" tab there is a "Libraries" button:
http://www.oxygenxml.com/doc/ug-oxygen/ ... s-tab.html
which you can click and add references to required libraries. It is important that in the libraries list, before the reference to Oxygen's Saxon EE libraries you should add references to the following libraries:
Code: Select all
${oxygenHome}/classes/
${oxygenHome}/lib/oxygen.jar
${oxygenHome}/lib/oxygenAuthor.jar
${oxygenHome}/lib/oxygenDeveloper.jar
${oxygenHome}/lib/oxygenEclipse.jar
${oxygenHome}/lib/oxygenAuthorEclipse.jar
${oxygenHome}/lib/oxygenDeveloperEclipse.jar
Another way to do this would be to create a transformation scenario in Oxygen of type DITA OT and change in it the path to the used DITA Open Toolkit installation:
http://www.oxygenxml.com/doc/ug-oxygen/ ... ta-ot.html
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
<oXygen/> XML Editor
http://www.oxygenxml.com
-
- Posts: 116
- Joined: Fri Apr 08, 2011 7:58 am
Re: Can I use SaxonEE in DITA ANT transformation?
Hi Radu,
Is above method still available in oXygen 19.0?
I wrote the following ant build file and still got "No license" message even if I added "-lib" option to the scenario.
The log file:
Regards,
Is above method still available in oXygen 19.0?
I wrote the following ant build file and still got "No license" message even if I added "-lib" option to the scenario.
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." name="test.xslt.build">
<property name="input.file" value="input.xml"/>
<property name="output.file" value="output-xslt3.xml"/>
<property name="xsl.file" value="test-pkg-main-xslt3.xsl"/>
<property name="config.file" value="config.xml"/>
<path id="saxon.class.path">
<pathelement location="C:\Users\toshi\AppData\Roaming\com.oxygenxml\extensions\v19.0\plugins\https___www.oxygenxml.com_InstData_Addons_default_updateSite.xml\oxygen-sample-plugin-tranformer-saxon-9-8-19.0\lib\saxon9ee.jar"/>
</path>
<path id="project.class.path">
<path refid="saxon.class.path"/>
<pathelement path="${java.class.path}"/>
</path>
<java classname="net.sf.saxon.Transform" classpathref="project.class.path">
<arg value="-s:${input.file}"/>
<arg value="-o:${output.file}"/>
<arg value="-xsl:${xsl.file}"/>
<arg value="-config:${config.file}"/>
<arg value="-t"/>
</java>
</project>
Code: Select all
Executing:
"c:\program files\oxygen xml editor 19\jre/bin/java" -Xmx256m -classpath "D:\My_Documents\Java\apache-ant-1.10.1-bin\apache-ant-1.10.1/lib/ant-launcher.jar" "-Dant.home=D:\My_Documents\Java\apache-ant-1.10.1-bin\apache-ant-1.10.1" org.apache.tools.ant.launch.Launcher -lib "C:\Program Files\Oxygen XML Editor 19\lib\oxygen.jar" -lib "C:\Program Files\Oxygen XML Editor 19\lib\saxon9ee.jar" -lib "C:\Program Files\Oxygen XML Editor 19\lib\xercesImpl.jar" -lib "C:\Program Files\Oxygen XML Editor 19\lib\resolver.jar" -lib "C:\Program Files\Oxygen XML Editor 19\lib\log4j.jar" -f "build.xml" "-Dwebhelp.trial.license=no" -lib file:/C:/Program%20Files/Oxygen%20XML%20Editor%2019/classes/ -lib file:/C:/Program%20Files/Oxygen%20XML%20Editor%2019/lib/oxygen.jar -lib file:/C:/Program%20Files/Oxygen%20XML%20Editor%2019/lib/oxygenAuthor.jar -lib file:/C:/Program%20Files/Oxygen%20XML%20Editor%2019/lib/oxygenDeveloper.jar -lib file:/C:/Program%20Files/Oxygen%20XML%20Editor%2019/lib/oxygenEclipse.jar -lib file:/C:/Program%20Files/Oxygen%20XML%20Editor%2019/lib/oxygenAuthorEclipse.jar -lib file:/C:/Program%20Files/Oxygen%20XML%20Editor%2019/lib/oxygenDeveloperEclipse.jar
Buildfile: C:\Users\toshi\OneDrive\Documents\test\xslt\20170423-package\build.xml
[java] Saxon-EE 9.8.0.1J from Saxonica
[java] Java version 1.8.0_121
[java] No license file found - running with licensable features disabled
[java] Stylesheet compilation time: 1.394047s (1394.047353ms)
[java] Processing file:/C:/Users/toshi/OneDrive/Documents/test/xslt/20170423-package/input.xml
[java] Using parser org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser
[java] Building tree for file:/C:/Users/toshi/OneDrive/Documents/test/xslt/20170423-package/input.xml using class net.sf.saxon.tree.tiny.TinyBuilder
[java] Tree built in 13.78188ms
[java] Tree size: 10 nodes, 20 characters, 2 attributes
[java] Execution time: 244.486867ms
[java] Memory used: 35,157,112
BUILD SUCCESSFUL
Total time: 4 seconds
The process finished with exit code: 0
--
/*--------------------------------------------------
Toshihiko Makita
Development Group. Antenna House, Inc. Ina Branch
Web site:
http://www.antenna.co.jp/
http://www.antennahouse.com/
--------------------------------------------------*/
/*--------------------------------------------------
Toshihiko Makita
Development Group. Antenna House, Inc. Ina Branch
Web site:
http://www.antenna.co.jp/
http://www.antennahouse.com/
--------------------------------------------------*/
-
- Posts: 9431
- Joined: Fri Jul 09, 2004 5:18 pm
Re: Can I use SaxonEE in DITA ANT transformation?
Hi Toshishiko,
Probably the problem is that you refer to an external Saxon JAR library:
before the java class path. You should probably refer to it after the reference to the Oxygen JAR libraries so that the Oxygen JAR libraries come first in the classpath. You can try to edit the transformation scenario and in the Libraries list remove the reference to the builtin Saxon JAR libraries and add the reference to your Saxon JAR.
If that works great for you but it might probably not work, the Oxygen JAR libraries are tuned to work only with a specific Saxon library bundled with Oxygen.
Regarts,
Radu
Probably the problem is that you refer to an external Saxon JAR library:
Code: Select all
<path refid="saxon.class.path"/>
If that works great for you but it might probably not work, the Oxygen JAR libraries are tuned to work only with a specific Saxon library bundled with Oxygen.
Regarts,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
<oXygen/> XML Editor
http://www.oxygenxml.com
-
- Posts: 116
- Joined: Fri Apr 08, 2011 7:58 am
Re: Can I use SaxonEE in DITA ANT transformation?
Hi Radu,
I will test it via XSLT transformation scenario.
Regards,
You are right. Changing classpath reference forces oXygen to invoke Saxon EE 9.7.0.15 not Saxon EE 9.8.0.1.If that works great for you but it might probably not work, the Oxygen JAR libraries are tuned to work only with a specific Saxon library bundled with Oxygen.
I will test it via XSLT transformation scenario.
Regards,
--
/*--------------------------------------------------
Toshihiko Makita
Development Group. Antenna House, Inc. Ina Branch
Web site:
http://www.antenna.co.jp/
http://www.antennahouse.com/
--------------------------------------------------*/
/*--------------------------------------------------
Toshihiko Makita
Development Group. Antenna House, Inc. Ina Branch
Web site:
http://www.antenna.co.jp/
http://www.antennahouse.com/
--------------------------------------------------*/
-
- Posts: 116
- Joined: Fri Apr 08, 2011 7:58 am
Re: Can I use SaxonEE in DITA ANT transformation?
It seems that oXygen XSLT transformation scenario cannot pass the parameter "-config:config.xml" to Saxon.I will test it via XSLT transformation scenario.
Is it a limitation?
Regards,
--
/*--------------------------------------------------
Toshihiko Makita
Development Group. Antenna House, Inc. Ina Branch
Web site:
http://www.antenna.co.jp/
http://www.antennahouse.com/
--------------------------------------------------*/
/*--------------------------------------------------
Toshihiko Makita
Development Group. Antenna House, Inc. Ina Branch
Web site:
http://www.antenna.co.jp/
http://www.antennahouse.com/
--------------------------------------------------*/
-
- Posts: 9431
- Joined: Fri Jul 09, 2004 5:18 pm
Re: Can I use SaxonEE in DITA ANT transformation?
Hi Toshihiko,
An Oxygen XSLT transformation scenario does not use Saxon as an external processor, it uses Saxon's Java APIs to work with the processor.
If you edit the transformation scenario, next to the Transformer combo box there is a small settings button which allows you to check various settings and to also specify a configuration file reference.
Regards,
Radu
An Oxygen XSLT transformation scenario does not use Saxon as an external processor, it uses Saxon's Java APIs to work with the processor.
If you edit the transformation scenario, next to the Transformer combo box there is a small settings button which allows you to check various settings and to also specify a configuration file reference.
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
<oXygen/> XML Editor
http://www.oxygenxml.com
-
- Posts: 116
- Joined: Fri Apr 08, 2011 7:58 am
Re: Can I use SaxonEE in DITA ANT transformation?
Hi Radu,
It worked fine!!
Regards,
Thank you very much!If you edit the transformation scenario, next to the Transformer combo box there is a small settings button which allows you to check various settings and to also specify a configuration file reference.
It worked fine!!
Regards,
--
/*--------------------------------------------------
Toshihiko Makita
Development Group. Antenna House, Inc. Ina Branch
Web site:
http://www.antenna.co.jp/
http://www.antennahouse.com/
--------------------------------------------------*/
/*--------------------------------------------------
Toshihiko Makita
Development Group. Antenna House, Inc. Ina Branch
Web site:
http://www.antenna.co.jp/
http://www.antennahouse.com/
--------------------------------------------------*/
Jump to
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ 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