Search code examples
xmlditaoxygenxmldita-ot

DITA to DOCX using plugin com.elovirta.ooxml in DITA OT 1.8.5


Is it possible to convert DITA to DOCX using plugin com.elovirta.ooxml in DITA OT 1.8.5

input dita map file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "urn:pubid:org:doctypes:dita:map" "map.dtd">
<map>
    <title>This is a test DITA Map</title>
    <topicref href="Bank.dita"/>
</map>

And input dita file:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic
  PUBLIC "urn:pubid:doctypes:dita:topic" "topic.dtd">
<topic id="d63e3" xml:lang="en-US" outputclass="Student_Notebook">
  <title outputclass="Title">Student Notebook</title>
  <body>
    <section outputclass="Handout"><title>Labs Student Notebook
        1</title><p outputclass="SC_P_Large_Center">Module 1</p><p
        outputclass="SC_P_Large_Center">Literacy Labs</p><p outputclass="SC_P_Large_Center">Student
        Notebook</p><p outputclass="SC_P_Medium">________________ _______________ _______________
        _______________ </p></section>
  </body>
</topic>

After docx transformation runs, i get error log as below:

docx.convert:

 >[xslt] Processing E:\Vinod\2017\Jan\4-1\temp\docx\oxygen_dita_temp\Test_MERGED.xml to E:\Vinod\2017\Jan\4-1\temp\docx\oxygen_dita_temp\Test_CLEANED.xml
 [xslt] Loading stylesheet C:\DITA-OT\DITA-OT1.8.5-ELED\plugins\com.elovirta.ooxml\docx\word\document.flat.xsl
 [xslt] Processing E:\Vinod\2017\Jan\4-1\temp\docx\oxygen_dita_temp\Test_CLEANED.xml to E:\Vinod\2017\Jan\4-1\temp\docx\oxygen_dita_temp\docx\docProps\core.xml
 [xslt] Loading stylesheet C:\DITA-OT\DITA-OT1.8.5-ELED\plugins\com.elovirta.ooxml\docx\docProps\core.xsl
 [xslt] Processing E:\Vinod\2017\Jan\4-1\temp\docx\oxygen_dita_temp\Test_CLEANED.xml to E:\Vinod\2017\Jan\4-1\temp\docx\oxygen_dita_temp\docx\word\document.xml
 [xslt] Loading stylesheet C:\DITA-OT\DITA-OT1.8.5-ELED\plugins\com.elovirta.ooxml\docx\word\document.xsl
 [xslt] C:\DITA-OT\DITA-OT1.8.5-ELED\plugins\com.elovirta.ooxml\docx\word\document.topic.xsl:22:30: Warning! Stylesheet module file:/C:/DITA-OT/DITA-OT1.8.5-ELED/plugins/com.elovirta.ooxml/docx/word/document.topic.xsl is included or imported more than once. This is permitted, but may lead to errors or unexpected behavior
 [xslt] C:\DITA-OT\DITA-OT1.8.5-ELED\plugins\com.elovirta.ooxml\docx\word\document.topic.xsl:604:47: Fatal Error! No template exists named getVariable
 [xslt] Failed to process E:\Vinod\2017\Jan\4-1\temp\docx\oxygen_dita_temp\Test_CLEANED.xml

BUILD FAILED C:\DITA-OT\DITA-OT1.8.5-ELED\build.xml:44: The following error occurred while executing this line: C:\DITA-OT\DITA-OT1.8.5-ELED\plugins\com.elovirta.ooxml\build.xml:74: javax.xml.transform.TransformerConfigurationException: net.sf.saxon.s9api.SaxonApiException: Stylesheet compilation failed: 1 error reported at net.sf.saxon.jaxp.SaxonTransformerFactory.newTemplates(Unknown Source) at org.apache.tools.ant.taskdefs.optional.TraXLiaison.readTemplates(TraXLiaison.java:300) at org.apache.tools.ant.taskdefs.optional.TraXLiaison.createTransformer(TraXLiaison.java:317) at org.apache.tools.ant.taskdefs.optional.TraXLiaison.transform(TraXLiaison.java:178) at org.apache.tools.ant.taskdefs.XSLTProcess.process(XSLTProcess.java:876) at org.apache.tools.ant.taskdefs.XSLTProcess.execute(XSLTProcess.java:414) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) at sun.reflect.GeneratedMethodAccessor4.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:1393) at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) at org.apache.tools.ant.Project.executeTargets(Project.java:1248) at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440) at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) at sun.reflect.GeneratedMethodAccessor4.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:1393) at org.apache.tools.ant.Project.executeTarget(Project.java:1364) at >org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1248) at org.apache.tools.ant.Main.runBuild(Main.java:851) at org.apache.tools.ant.Main.startAnt(Main.java:235) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) Caused by: net.sf.saxon.s9api.SaxonApiException: Stylesheet compilation failed: 1 error reported at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:546) ... 35 more Caused by: net.sf.saxon.trans.XPathException: Stylesheet compilation failed: 1 error reported at net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:97) at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:543)

... 35 more

net.sf.saxon.s9api.SaxonApiException: Stylesheet compilation failed: 1 error reported at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:546) at net.sf.saxon.jaxp.SaxonTransformerFactory.newTemplates(Unknown Source) at org.apache.tools.ant.taskdefs.optional.TraXLiaison.readTemplates(TraXLiaison.java:300) at org.apache.tools.ant.taskdefs.optional.TraXLiaison.createTransformer(TraXLiaison.java:317) at org.apache.tools.ant.taskdefs.optional.TraXLiaison.transform(TraXLiaison.java:178) at org.apache.tools.ant.taskdefs.XSLTProcess.process(XSLTProcess.java:876) at org.apache.tools.ant.taskdefs.XSLTProcess.execute(XSLTProcess.java:414) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) at sun.reflect.GeneratedMethodAccessor4.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:1393) at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) at org.apache.tools.ant.Project.executeTargets(Project.java:1248) at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440) at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) at sun.reflect.GeneratedMethodAccessor4.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:1393) at org.apache.tools.ant.Project.executeTarget(Project.java:1364) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1248) at org.apache.tools.ant.Main.runBuild(Main.java:851) at org.apache.tools.ant.Main.startAnt(Main.java:235) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) Caused by: net.sf.saxon.trans.XPathException: Stylesheet compilation failed: 1 error reported at net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:97) at net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:543) ... 35 more

Total time: 6 seconds

The process finished with exit code: 1

Please assist me.


Solution

  • Your plugin will not work with DITA-OT 1.8.5, which is EOL. Your transformation fails, because the getVariable function is not found, which has been introduced with DITA-OT 2.x. You should definetely consider migrating your environment to DITA-OT 2.x. If you cannot, setup a second toolkit for your docx transformations with com.elovirta.ooxml and your DITA specializations. You can choose the OT during transformation by setting the dita.dir parameter. You can also do this within a build script. It is not worth trying to backport com.elovirta.ooxml, you should better spend your resources on upgrading your environment.