1

是否可以在 DITA OT 1.8.5 中使用插件 com.elovirta.ooxml 将 DITA 转换为 DOCX

输入dita映射文件:

<?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>

并输入dita文件:

<?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>

docx转换运行后,我得到如下错误日志:

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:执行此行时出现以下错误:C:\DITA-OT\DITA-OT1.8.5-ELED\plugins\com .elovirta.ooxml\build.xml:74:javax.xml.transform.TransformerConfigurationException:net.sf.saxon.s9api.SaxonApiException:样式表编译失败:net.sf.saxon.jaxp.SaxonTransformerFactory.newTemplates 报告了 1 个错误(未知源)在 org.apache.tools.ant.taskdefs.optional.TraXliaison.readTemplates(TraXliaison.java:300) 在 org.apache.tools.ant.taskdefs.optional.TraXLiaison.createTransformer(TraXliaison.java:317) 在 org .apache.tools.ant.taskdefs.optional.TraXliaison.transform(TraXliaison.java:178) 在 org.apache.tools.ant.taskdefs.XSLTProcess.process(XSLTProcess.java:876) 在 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) 在 org.apache.tools.ant.Target.performTasks(Target.java:456) 在 org.apache.tools.ant.Project.executeSortedTargets( Project.java:1393)在 org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38) 在 org.apache.tools.ant.Project.executeTargets(Project.java:1248) 在 org.apache .tools.ant.taskdefs.Ant.execute(Ant.java:440) 在 org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 在 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) 在 org.apache.tools.ant.Task.perform(Task.java:348) 在 org.apache.tools.ant.Target.execute(Target.java:435) 在 org.apache.tools.ant .Target.performTasks(Target.java:456) 在 org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) 在 org.apache.tools.ant.Project.executeTarget(Project.java:1364) 在>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) 在 org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 在 org.apache.tools.ant.launch.Launcher.main (Launcher.java:109) 原因:net.sf.saxon.s9api.SaxonApiException:样式表编译失败:net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:546) 报告 1 个错误 ... 35更多原因:net.sf.saxon.trans.XPathException:样式表编译失败:net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:97) at net.sf.saxon.s9api.XsltCompiler 报告 1 个错误.compile(XsltCompiler.java:543)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) 在 org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 在 org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 引起:net.sf .saxon.s9api.SaxonApiException:样式表编译失败:net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:546) 报告了 1 个错误 ... 35 更多原因:net.sf.saxon.trans.XPathException : 样式表编译失败:net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:543) 的 net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:97) 报告 1 个错误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) 在 org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 在 org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) 引起:net.sf .saxon.s9api.SaxonApiException:样式表编译失败:net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:546) 报告了 1 个错误 ... 35 更多原因:net.sf.saxon.trans.XPathException :样式表编译失败:net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:543) 的 net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:97) 报告了 1 个错误851)在 org.apache.tools.ant.Main.startAnt(Main.java:235) 在 org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 在 org.apache.tools.ant .launch.Launcher.main(Launcher.java:109) 原因:net.sf.saxon.s9api.SaxonApiException:样式表编译失败:net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java: 546)... 35 更多原因:net.sf.saxon.trans.XPathException:样式表编译失败:net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:97) 在 net.sf 报告了 1 个错误.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:543)851)在 org.apache.tools.ant.Main.startAnt(Main.java:235) 在 org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 在 org.apache.tools.ant .launch.Launcher.main(Launcher.java:109) 原因:net.sf.saxon.s9api.SaxonApiException:样式表编译失败:net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java: 546)... 35 更多原因:net.sf.saxon.trans.XPathException:样式表编译失败:net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:97) 在 net.sf 报告了 1 个错误.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:543)sf.saxon.s9api.SaxonApiException:样式表编译失败:net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:546) 报告了 1 个错误 ... 35 更多原因:net.sf.saxon.trans。 XPathException:样式表编译失败:net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:543) 的 net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:97) 报告了 1 个错误sf.saxon.s9api.SaxonApiException:样式表编译失败:net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:546) 报告了 1 个错误 ... 35 更多原因:net.sf.saxon.trans。 XPathException:样式表编译失败:net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:543) 的 net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java:97) 报告了 1 个错误

... 35 更多

net.sf.saxon.s9api.SaxonApiException:样式表编译失败:net.sf.saxon.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:546) 在 net.sf.saxon.jaxp.SaxonTransformerFactory.newTemplates (Unknown源)在 org.apache.tools.ant.taskdefs.optional.TraXliaison.readTemplates(TraXliaison.java:300) 在 org.apache.tools.ant.taskdefs.optional.TraXLiaison.createTransformer(TraXliaison.java:317) 在 org .apache.tools.ant.taskdefs.optional.TraXliaison.transform(TraXliaison.java:178) 在 org.apache.tools.ant.taskdefs.XSLTProcess.process(XSLTProcess.java:876) 在 org.apache.tools.ant .taskdefs.XSLTProcess.execute(XSLTProcess.java:414) 在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 在 sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) 在 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) 在 org.apache.tools.ant.Target.execute(Target.java:435) 在 org.apache.tools.ant.Target.performTasks(Target.java:456) 在org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) 在 org.apache.tools.ant.Project 的 org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)。 org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:440) 处的 executeTargets(Project.java:1248) org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)在 org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292) 在 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) 在 org.apache.tools.ant.Task.perform(Task.java:348) 在 org.apache.tools.ant.Target.execute(Target.java:435) 在org.apache.tools.ant.Target.performTasks(Target.java:456) 在 org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) 在 org.apache.tools.ant.Project.executeTarget( Project.java:1364) 在 org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) 在 org.apache.tools.ant.Project.executeTargets(Project.java:1248) 在 org.apache .tools.ant.Main.runBuild(Main.java:851) 在 org.apache.tools.ant.Main.startAnt(Main.java:235) 在 org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) 在 org.apache.tools.ant .launch.Launcher.main(Launcher.java:109) 原因:net.sf.saxon.trans.XPathException:样式表编译失败:net.sf.saxon.style.Compilation.compileSingletonPackage(Compilation.java: 97) 在 net.sf.saxon.s9api.XsltCompiler.compile(XsltCompiler.java:543) ... 35 更多saxon.s9api.XsltCompiler.compile(XsltCompiler.java:543) ... 35 更多saxon.s9api.XsltCompiler.compile(XsltCompiler.java:543) ... 35 更多

总时间:6秒

该过程以退出代码完成:1

请帮助我。

4

1 回答 1

4

您的插件将无法与DITA-OT 1.8.5EOL 一起使用。您的转换失败,因为getVariable找不到该功能,该功能已与DITA-OT 2.x. 您应该明确考虑将您的环境迁移到DITA-OT 2.x. 如果不能,请为您的docx转换com.elovirta.ooxml和您的 DITA 专业化设置第二个工具包。dita.dir您可以通过设置参数选择转换过程中的OT 。您也可以在构建脚本中执行此操作。不值得尝试向后移植com.elovirta.ooxml,您最好将资源用于升级环境。

于 2017-01-17T18:54:36.573 回答