1

このリンクを使用してcom.elovirta.ooxmlというプラグイン名を使用して、DITA を Oxygen のワード プロセスに変換する手順が必要です。

入力 Dita xml ファイルは次のとおりです。

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

DITA-OT 2.1.0 を試してみました。3 つのプラグイン com.elovirta.ooxml、org.dita.base、org.dita.pdf2 を dita ot にインストールした後、これらの 3 つのプラグインは相互に依存しているため、3 つのプラグインをインストールしました。com.elovirta.ooxml plugin.xml コードでは、次のように言及されています。

<?xml version="1.0" encoding="UTF-8"?>
<plugin id="com.elovirta.ooxml">
  <require plugin="org.dita.pdf2"/>
  <feature extension="dita.conductor.transtype.check" value="docx"/>
  <feature extension="dita.transtype.print" value="docx"/>
  <feature extension="dita.conductor.target.relative" file="integrator.xml"/>
</plugin>

というわけで、プラグインを3つインストールしました。その後、次のようにコマンドプロンプトでコマンドを実行しました:

C:\DITA-OT\dita-ot-2.1.0-dita2word>ant -f integrator.xml

Buildfile: C:\DITA-OT\dita-ot-2.1.0-dita2word\integrator.xml

strict:

integrate:
      [jar] Building jar: C:\DITA-OT\dita-ot-2.1.0-dita2word\lib\dost-configuration.jar

BUILD SUCCESSFUL
Total time: 0 seconds

その後

Oxygenでこのプロセスを実行しました:

  • 変換シナリオで、DITA OT 変換を選択しました。

    私が選択した変換タイプ、

    そして、私はパラメータを変更しませんでした

    以下のスクリーンショットに示す 3 つのポイント

ここに画像の説明を入力

[ OK ] ボタンをクリックして、変換の実行後にシナリオを作成しました。次のエラーが発生します。

Description: [DOTJ025E] The input to the "topic merge" transform process could not be found. Correct any earlier transform errors and try the build again, or see the DITA-OT User Guide for additional causes.

そのため、プラグインのインストール後に dita-ot-2.4.1 の新しいバージョンを使用しようとしました。次のコマンドを実行しました。

C:\DITA-OT\dita-ot-2.4.1>ant -f integrator.xml
Buildfile: C:\DITA-OT\dita-ot-2.4.1\integrator.xml

integrate:

BUILD FAILED
C:\DITA-OT\dita-ot-2.4.1\integrator.xml:43: java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableSet
        at org.dita.dost.platform.Integrator.<clinit>(Integrator.java:79)
        at org.dita.dost.platform.IntegratorTask.execute(IntegratorTask.java:32)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:293)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        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:854)
        at org.apache.tools.ant.Main.startAnt(Main.java:236)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:285)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:112)
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.ImmutableSet
        at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1388)
        at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1337)
        at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1089)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 19 more

Total time: 0 seconds

このエラーが発生するため、DITA OT の新しいバージョンを使用していません。

gitでプロセスを実行した後このコマンドの後

$ ./dita --input=/E/SampleFile.dita -f docx

次のようなエラーが表示されます。

 [pipeline] Error at xsl:element on line 64 of topicmergeImpl.xsl:
 [pipeline]   XTDE0820: Invalid element name. Invalid QName {}
 [pipeline]   in built-in template rule
Error: Failed to run pipeline: Failed to process merged topics: Invalid element name. Invalid QName {}

このエラーを解決するための提案と、dita2word 変換までの提案をお願いします。

前もって感謝します

4

1 に答える 1

3

互換性のないバージョンのツールキットまたはそのプラグインが混在しているため、Java クラスが欠落しています。

Windows マシンを使用しているため、次のコマンドを実行するには、コマンド ライン インターフェイスが機能している必要があります。lsvicurlなどの基本的な Unix コマンドを実行できる優れたコマンド ライン インターフェイスを含むGit Bashが同梱されているため、Gitをインストールすることをお勧めします。

Git Bash で、次を実行します。

  1. ユーザーのホーム ディレクトリを開きます。

    cd ~
    
  2. 一時ディレクトリを作成します。

    mkdir temp
    
  3. 一時ディレクトリに移動します。

    cd temp
    
  4. 最新の DITA-OT をダウンロードします。

    curl -LO https://github.com/dita-ot/dita-ot/releases/download/2.4.1/dita-ot-2.4.1.zip
    
  5. OT を解凍します。

    unzip dita-ot-2.4.1.zip
    
  6. binディレクトリに移動します。

    cd dita-ot-2.4.1/bin/
    
  7. com.elovirta.ooxmlプラグインをインストールします。

    ./dita --install https://github.com/jelovirt/com.elovirta.ooxml/archive/master.zip
    
  8. DITA-OT ドキュメントから docx を生成します。

    ./dita --input ../docsrc/userguide-book.ditamap -f docx
    
于 2017-01-03T09:47:51.197 に答える