Page 1 of 1

CHM conversion issue because of indexterm

Posted: Mon Mar 19, 2018 1:06 pm
by susannecm
Hi,

I am trying to migrate some transformation scenarios from DITA OT 1.7 to DITA OT 2.*. The PDF conversion is working, but the CHM conversion doesn't.
I have a huge bookmap that can be converted to PDF and to Webhelp und to CHM using DITA OT 1.7 and our custom adjustments.
However, both the internal DITA OT and an external DITA OT 2.5.4 produce the same error:

Code: Select all

dita.map.htmlhelp.hhk:

BUILD FAILED
C:\Oxygen XML Editor 19\frameworks\dita\DITA-OT2.x\build.xml:45: The following error occurred while executing this line:
C:\Oxygen XML Editor 19\frameworks\dita\DITA-OT2.x\plugins\org.dita.htmlhelp\build_dita2htmlhelp.xml:15: The following error occurred while executing this line:
C:\Oxygen XML Editor 19\frameworks\dita\DITA-OT2.x\plugins\org.dita.htmlhelp\build_dita2htmlhelp.xml:139: java.lang.ClassCastException: org.dita.dost.index.TopicrefElement cannot be cast to org.dita.dost.index.IndexTerm
at org.dita.dost.reader.DitamapIndexTermReader.endElement(DitamapIndexTermReader.java:164)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.ditang.relaxng.defaults.RelaxNGDefaultsComponent.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImplXerces.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.ditang.relaxng.defaults.RelaxDefaultsParserConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.dita.dost.module.IndexTermExtractModule.extractIndexTerm(IndexTermExtractModule.java:195)
at org.dita.dost.module.IndexTermExtractModule.execute(IndexTermExtractModule.java:74)
at org.dita.dost.pipeline.PipelineFacade.execute(PipelineFacade.java:80)
at org.dita.dost.invoker.ExtensibleAntInvoker.execute(ExtensibleAntInvoker.java:230)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:435)
at org.apache.tools.ant.Target.performTasks(Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1405)
at org.apache.tools.ant.Project.executeTarget(Project.java:1376)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1260)
at org.apache.tools.ant.Main.runBuild(Main.java:857)
at org.apache.tools.ant.Main.startAnt(Main.java:236)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:287)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:113)
Could this be a problem with index-see and index-see-also and if so, how do I get rid of it?

Thanks for any help

Susanne Muris

Re: CHM conversion issue because of indexterm

Posted: Tue Mar 20, 2018 1:05 pm
by Radu
Hi Susanne,

I managed to add some logging in the DITA OT code and reproduced the problem, I added an issue for it on the DITA OT issues list:

https://github.com/dita-ot/dita-ot/issues/2920

The problem is somehow related to using indexterm with index-see either directly in the DITA Map or on a DITA topic inside the <title> or <shortdesc> element.
If you contact us via email (support@oxygenxml.com) I could try to provide you with a patched JAR library for your used DITA OT 2.5.4 distribution.

Regards,
Radu

Re: CHM conversion issue because of indexterm

Posted: Mon Jun 18, 2018 4:01 pm
by Radu
Hi,

Just to update this forum thread, we released Oxygen 20.1 and its bundled DITA OT 2.x publishing engine should have this problem fixed.

Regards,
Radu