DITA-OT1.4.3をコマンド・プロンプトから簡単に実行するためのバッチ
DITA-OTの実行方法には、Antビルド・ファイルを直接実行する方法と、dost.jarを使う方法の2つがある。dost.jarを使うと、Antビルド・ファイルにさわることなくDITA-OTを実行できるので、Antに不慣れな人には便利である。しかし、dost.jarを使ってDITA-OTを実行するにしても、クラスパスの設定や各種オプションの指定を毎回行うのは面倒である。そこで、DITA-OTを簡単に実行するためのバッチ・ファイルを作ってみた。
dost.jarを使った場合は、DITA-OTの実行に必要なAntパラメータがproperty.tempというファイルに出力され、これに基づいてAntビルド・ファイルが実行されるしくみになっている。
参考にしたのは以下のページ。
build_dita.bat
@echo off REM REM === 重要 === REM REM このバッチを使う前に、環境変数 DITA-OTにDITA-OTのインストール・フォルダのパスを設定してください。 REM REM 例) DITA-OT = C:\DITA-OT1.4.3\ <--- 最後の\を忘れないように注意のこと REM REM === 使い方 === REM REM > build_dita arg1-dita-fname arg2-transtype [arg3-dita-ext] REM REM arg1-dita-fname : マップまたはトピックのファイル・パス REM arg2-transtype : xhtml, htmlhelp, pdf REM arg3-dita-ext : DITAトピック・ファイルの拡張子(省略すると、".dita") REM REM === 環境変数DITA-OTが設定されているか確認する === if "%DITA-OT%" == "" goto ENV-ERR REM === バッチの引数が指定されているか確認する === if [%1] == [] goto ARG-ERR if [%2] == [] goto ARG-ERR if [%3] == [] ( set DITA_EXT=dita ) else ( set DITA_EXT=%3 ) REM === 環境変数のセットアップ === REM 下記のコードは、DITA-OT 1.4.3のstartcmd.batのコピーです。 REM ここから REM This file is part of the DITA Open Toolkit project hosted on REM Sourceforge.net. See the accompanying license.txt file for REM applicable licenses. REM (c) Copyright IBM Corp. 2006 All Rights Reserved. REM Get the absolute path of DITAOT's home directory set DITA_DIR=%DITA-OT% REM Set environment variables set ANT_OPTS=-Xmx800m %ANT_OPTS% set ANT_OPTS=%ANT_OPTS% -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl set ANT_HOME=%DITA_DIR%tools\ant set PATH=%DITA_DIR%tools\ant\bin;%PATH% set CLASSPATH=%DITA_DIR%lib;%DITA_DIR%lib\dost.jar;%DITA_DIR%lib\resolver.jar;%DITA_DIR%lib\icu4j.jar;%CLASSPATH% set CLASSPATH=%DITA_DIR%lib\saxon\saxon9.jar;%DITA_DIR%lib\saxon\saxon9-dom.jar;%CLASSPATH% set CLASSPATH=%DITA_DIR%lib\saxon\saxon9-dom4j.jar;%DITA_DIR%lib\saxon\saxon9-jdom.jar;%CLASSPATH% set CLASSPATH=%DITA_DIR%lib\saxon\saxon9-s9api.jar;%DITA_DIR%lib\saxon\saxon9-sql.jar;%CLASSPATH% set CLASSPATH=%DITA_DIR%lib\saxon\saxon9-xom.jar;%DITA_DIR%lib\saxon\saxon9-xpath.jar;%DITA_DIR%lib\saxon\saxon9-xqj.jar;%CLASSPATH% REM ここまで REM === DITA-OTを実行する === set BASE_DIR=%~dp1 set INPUT_FILE=%~f1 echo BASE_DIR = %BASE_DIR% echo INPUT_FILE = %INPUT_FILE% java -jar %DITA_DIR%lib/dost.jar /ditadir:%DITA_DIR% /cleantemp:yes /ditaext:%DITA_EXT% /copycss:yes /csspath:css /cssroot:%DITA_DIR%resource /basedir:%BASE_DIR% /i:%INPUT_FILE% /transtype:%2 /outdir:%BASE_DIR%out\%2 /tempdir:%BASE_DIR%temp /xhtmltoc:toc /indexshow:yes REM === dost.jarの引数の説明 === REM REM /ditadir: DITA-OTのインストール・フォルダ REM /cleantemp: ビルドを実行する前に一次フォルダ(temp)下のファイルを削除するか否か REM /ditaext: DITAソース・ファイルの拡張子 REM /css: カスタマイズ版CSSのファイル REM /csspath: cssファイルをコピーするフォルダ(HTMLファイルの出力フォルダが基点) REM /cssroot: カスタマイズ版CSSファイルのフォルダ REM /basedir: DITAソース・ファイルのフォルダ REM /i: ビルド対象のDITAマップ・ファイル(本バッチの第1引数) REM /transtype: ドキュメントの出力形式(本バッチの第2引数) 指定可能な値 = xhtml, htmlhelp, pdf2 REM /outdir: 変換結果を出力するフォルダ REM /tempdir: 一時ファイルを出力するフォルダ REM /fouserconfig: XSL-FO変換時のパラメータ REM /xsl: カスタマイズ版XSLTスタイルシート REM /xhtmltoc: 目次のHTMLファイルのファイル名 REM /indexshow: 索引を生成するか否か REM /artlbl: グラフィック・ファイルのファイル名を表示するか否か REM goto END :ARG-ERR echo. echo 使い方: echo build_dita arg1-dita-fname arg2-transtype [arg3-dita-ext] echo. echo 引数: echo arg1-dita-fname : マップまたはトピックのファイル・パス echo arg2-transtype : xhtml, htmlhelp, pdf echo arg3-dita-ext : DITAトピック・ファイルの拡張子(省略すると、".dita") goto END :ENV-ERR echo 環境変数 DITA-OT が設定されていません。 goto END :END set ANT_OPTS= set CLASSPATH= REM === 参考 === REM REM ・DITA Open Toolkit による容易なコマンドライン処理 REM http://www.ibm.com/developerworks/jp/xml/library/x-tipditajavacmd.html?ca=drs-jp REM REM ・Processing from the Java command line REM http://dita-ot.sourceforge.net/doc/ot-userguide131/xhtml/processing/processing_javacmd.html REM
3/31 :ENDの後ろに環境変数の値をクリアする命令を追加。これがないと、バッチを実行する度に環境変数の値が長くなる。
このバッチ・ファイルをパスが通った場所に置いておけば、以下のようなコマンドを入力することでDITA-OTを実行できる。
> build_dita arg1-dita-fname arg2-transtype [arg3-dita-ext]
各引数には以下のものを指定する。
- arg1-dita-fname : マップまたはトピックのファイル・パス
- arg2-transtype : 出力ファイルのタイプ(xhtml, htmlhelp, pdf)
- arg3-dita-ext : DITAトピック・ファイルの拡張子(省略すると、".dita")
CSSやXSLスタイル・シートをカスタマイズした場合は、必要に応じてこのバッチ・ファイルの中の、dost.jarのオプションの指定を追加すればよい。