『build.xml』ファイルを作成します。
build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="docbook" default="build-pdf">
<property name="root.dir" location="."/>
<property name="doc.dir" location="${root.dir}/doc"/>
<property name="html.dir" location="${root.dir}/html"/>
<property name="pdf.dir" location="${root.dir}/pdf"/>
<property name="lib.dir" location="${root.dir}/lib"/>
<property name="res.dir" location="${root.dir}/resources"/>
<property name="style.dir"
location="${res.dir}/j-docbook-style"/>
<property name="document" value="document"/>
<property name="book.xml" location="${doc.dir}/book.xml"/>
<property name="fop.xconf" location="${root.dir}/fop.xconf"/>
<property
name="docbook.dir"
location="${res.dir}/docbook-xsl-1.75.2"/>
<property
name="xhtml.stylesheet"
location="${res.dir}/j-docbook-xslt/xslt/org/jboss/xhtml.xsl"/>
<property
name="pdf.stylesheet"
location="${res.dir}/j-docbook-xslt/xslt/org/jboss/pdf.xsl"/>
<property
name="conf.key"
value="-Dorg.apache.xerces.xni.parser.XMLParserConfiguration"/>
<property
name="conf.val"
value="org.apache.xerces.parsers.XIncludeParserConfiguration"/>
<property
name="xinclude.parser.conf"
value="${conf.key}=${conf.val}"/>
<property
name="builder.key"
value="-Djavax.xml.parsers.DocumentBuilderFactor"/>
<property
name="builder.val"
value="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
<property
name="document.builder.factory"
value="${builder.key}=${builder.val}"/>
<property
name="parser.key"
value="-Djavax.xml.parsers.SAXParserFactory"/>
<property
name="parser.val"
value="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
<property
name="sax.parser.factory"
value="${parser.key}=${parser.val}"/>
<property
name="xerces.dir"
location="${lib.dir}/xerces-2_9_1"/>
<property
name="saxon.dir"
location="${lib.dir}/saxon6-5-5"/>
<property name="fop.dir" location="${lib.dir}/fop-0.95"/>
<taskdef name="fop"
classname="org.apache.fop.tools.anttasks.Fop">
<classpath>
<fileset dir="${fop.dir}/lib">
<include name="*.jar" />
</fileset>
<fileset dir="${fop.dir}/build">
<include name="fop.jar" />
<include name="fop-hyph.jar" />
</fileset>
</classpath>
</taskdef>
<path id="saxon.classpath">
<fileset dir="${saxon.dir}" id="saxon.fileset">
<include name="saxon.jar" />
<include name="saxon-jdom.jar" />
<include name="saxon-xml-apis.jar" />
</fileset>
<fileset dir="${docbook.dir}/extensions"
id="saxon.fileset.ext">
<include name="saxon65.jar" />
</fileset>
<fileset dir="${xerces.dir}" id="xerces.fileset">
<include name="xercesImpl.jar" />
</fileset>
<fileset dir="${lib.dir}" id="jboss.fileset">
<include name="highlight-1.0.0.jar" />
<include name="jhighlight-1.0.jar" />
</fileset>
</path>
<target name="build-html">
<delete dir="${html.dir}" />
<mkdir dir="${html.dir}" />
<java classname="com.icl.saxon.StyleSheet"
classpathref="saxon.classpath" fork="true">
<jvmarg value="${xinclude.parser.conf}" />
<jvmarg value="${document.builder.factory}" />
<jvmarg value="${sax.parser.factory}" />
<arg line=
"-o ${html.dir}/${document}.html ${book.xml} ${xhtml.stylesheet} base.dir=${html.dir}/"/>
</java>
<copy todir="${html.dir}">
<fileset dir="${style.dir}/css">
<include name="css/*" />
</fileset>
<fileset dir="${style.dir}/images/">
<include name="images/**/*" />
</fileset>
</copy>
</target>
<target name="build-pdf">
<delete dir="${pdf.dir}" />
<mkdir dir="${pdf.dir}" />
<java classname="com.icl.saxon.StyleSheet"
classpathref="saxon.classpath" fork="true">
<jvmarg value="${xinclude.parser.conf}" />
<jvmarg value="${document.builder.factory}" />
<jvmarg value="${sax.parser.factory}" />
<arg line="-o ${pdf.dir}/${document}.fo ${book.xml} ${pdf.stylesheet}"/>
</java>
<fop format="application/pdf" outdir="${pdf.dir}"
userconfig="${fop.xconf}" messagelevel="debug">
<fileset dir="${pdf.dir}">
<include name="*.fo" />
</fileset>
</fop>
</target>
</project>
コマンドフロンプトを開き作業フォルダーに移動します。
cd C:\mybook
ANTを実行してHTMLファイルを作成します。
ant build-htmlビルド後、htmlフォルダにhtmlファイルが出力されます。
ANTを実行してPDFファイルを作成します。
ant build-pdfビルド後、pdfフォルダにpdfファイルが出力されます。