Publishing webhelp with a JSON file

Post here questions and problems related to editing and publishing DITA content.
NilsG
Posts: 3
Joined: Wed Jun 12, 2024 11:48 am

Publishing webhelp with a JSON file

Post by NilsG »

Hello
I'm trying to publish a webhelp with a JSON file in one of the ditamaps. I'm using the com.oxygenxml.json.dita plugin to automatically create a DITA file from the JSON file. For context: the JSON file contains software strings that I'd like to use in uicontrol elements.
I'm using Oxygen 26.1 build 2024042206 with the built-in DITA-OT on Windows 11.
When running a transformation scenario (HTML5 and Webhelp Responsive), I get the following error:
C:\DevTools\Oxygen XML Editor 26\frameworks\dita\DITA-OT\plugins\org.dita.base\build_preprocess.xml:91: java.lang.NoSuchMethodError: 'org.apache.xml.resolver.tools.CatalogResolver org.dita.dost.util.CatalogUtils.getCatalogResolver()'
at com.oxygenxml.json.dita.JSONReader.parse(JSONReader.java:141)
at java.xml/org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:345)
at java.xml/org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:345)
at java.xml/org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:345)
at java.xml/org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:345)
at java.xml/org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:362)
at org.dita.dost.module.GenMapAndTopicListModule.processFile(GenMapAndTopicListModule.java:417)
at org.dita.dost.module.GenMapAndTopicListModule.processWaitList(GenMapAndTopicListModule.java:355)
at org.dita.dost.module.GenMapAndTopicListModule.execute(GenMapAndTopicListModule.java:202)
at org.dita.dost.ant.ExtensibleAntInvoker.execute(ExtensibleAntInvoker.java:210)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.Task.perform(Task.java:350)
at org.apache.tools.ant.Target.execute(Target.java:449)
at org.apache.tools.ant.Target.performTasks(Target.java:470)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:36)
at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:437)
at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:299)
at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
at org.apache.tools.ant.Task.perform(Task.java:350)
at org.apache.tools.ant.Target.execute(Target.java:449)
at org.apache.tools.ant.Target.performTasks(Target.java:470)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1401)
at org.apache.tools.ant.Project.executeTarget(Project.java:1374)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1264)
at org.apache.tools.ant.Main.runBuild(Main.java:818)
at org.apache.tools.ant.Main.startAnt(Main.java:223)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:284)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:101)
Any ideas about what might be wrong?
Thanks!!
Best regards,
Nils
Radu
Posts: 9233
Joined: Fri Jul 09, 2004 5:18 pm

Re: Publishing webhelp with a JSON file

Post by Radu »

Hi Nils,
The plugin relies on some code in the DITA OT main library. I just tested installing it in an Oxygen 26.1 DITA OT and it seems to work for me.
Is it possible that you have changed the folder "C:\DevTools\Oxygen XML Editor 26\frameworks\dita\DITA-OT\" from your side? Maybe place there an older DITA OT distribution? If so, the "dita-json" project is open source to maybe you can adapt it to work with your specific DITA OT version.
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
NilsG
Posts: 3
Joined: Wed Jun 12, 2024 11:48 am

Re: Publishing webhelp with a JSON file

Post by NilsG »

Thank you, Radu!
I don't remember doing anything other than installing a few plugins.
I reinstalled Oxygen (this time under C:\program files) but to no avail. I still get the Error: java.lang.NoSuchMethodError: 'org.apache.xml.resolver.tools.CatalogResolver org.dita.dost.util.CatalogUtils.getCatalogResolver()'.
I tried with the sample ditamap file from the plugin, while I had the sample.xpr project loaded.
A second experiment with a DITA-OT v.3.6.1 and Oxygen 26.1 is working.
I can also run it using Oxygen 24.1 with the built-in DITA-OT.

Any tips or help is much appreciated!
Best regards
Nils
Radu
Posts: 9233
Joined: Fri Jul 09, 2004 5:18 pm

Re: Publishing webhelp with a JSON file

Post by Radu »

Hi Nils,
Focusing on making Oxygen 26.1 and its bundled DITA OT 4.1.2 work with the plugin, after you install the plugin in the "OXYGEN_INSTALL_DIR/frameworks/dita/DITA-OT/plugins" and run the integrator, if you run the HTML5 publishing and it fails there should be a "DITA OT" console tab view at the bottom of Oxygen. Could you copy all the contents from that console tab view to a file and email it to us (support@oxygenxml.com)? Maybe somehow the entire logging received from the DITA OT will help me.
Anyway, I'm glad someone is using this open source plugin I created, hopefully it's useful to you.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
NilsG
Posts: 3
Joined: Wed Jun 12, 2024 11:48 am

Re: Publishing webhelp with a JSON file

Post by NilsG »

Thank you Radu, much appreciated!
I sent an email.
Best regards
Nils
Post Reply