I'm trying to get docbook up and running under Ant. Following some
instructions on the web, I got it to work by directly invoking the Saxon
XSLT processor via the <java> task. However, all the docbooks is just XSLT,
so I'd like to use the <xslt> task instead of <java>. However, I can't seem
to get the combination of resolver.jar and <xmlcatalog> to agree. The
fragment of my ant script is:
<path id="docbook.path">
<pathelement
location="C:/downloads/apache/xml-commons-resolver-1.1/xml-commons-resolver-
1.1/resolver.jar"/>
<pathelement
location="C:/downloads/saxon/saxon6-5-5/saxon.jar"/>
<pathelement
location="C:/ws/CJB/lib/docbook/docbook-xsl-1.69.1/extensions/saxon64.jar"/>
<pathelement location="C:/ws/CJB/lib/docbook"/>
</path>
<target name="cdrl-website" description="Create the CDRL
website">
<copydir
dest="${dist.build.dir}/dist/doc/CDRL_docs/html"
src="${basedir}/CJB/doc/CDRL_docs"/>
<echo message="${basedir}/CJB/lib/docbook"/>
<xslt
style="${docbook.dir}/docbook-website-2.6.0/xsl/autolayout.xsl"
classpathref="docbook.path"
in="${dist.build.dir}/dist/doc/CDRL_docs/html/layout.xml"
out="${dist.build.dir}/dist/doc/CDRL_docs/html/autolayout.xml"
basedir="${basedir}/CJB/lib/docbook">
<xmlcatalog>
<catalogpath>
<fileset
dir="C:/ws/CJB/lib/docbook" includes="**/catalog.xml"/>
</catalogpath>
</xmlcatalog>
</xslt>
<!--
<java dir="${basedir}/CJB/lib/docbook"
classname="com.icl.saxon.StyleSheet" classpathref="docbook.path"
fork="true">
<arg line="-o
${dist.build.dir}/dist/doc/CDRL_docs/html/autolayout.xml"/>
<arg line="-x
org.apache.xml.resolver.tools.ResolvingXMLReader"/>
<arg line="-y
org.apache.xml.resolver.tools.ResolvingXMLReader"/>
<arg line="-r
org.apache.xml.resolver.tools.CatalogResolver"/>
<arg
line="${dist.build.dir}/dist/doc/CDRL_docs/html/layout.xml"/>
<arg
line="${docbook.dir}/docbook-website-2.6.0/xsl/autolayout.xsl"/>
</java>
<java dir="${basedir}/CJB/lib/docbook"
classname="com.icl.saxon.StyleSheet" classpathref="docbook.path"
fork="true">
<arg line="-x
org.apache.xml.resolver.tools.ResolvingXMLReader"/>
<arg line="-y
org.apache.xml.resolver.tools.ResolvingXMLReader"/>
<arg line="-r
org.apache.xml.resolver.tools.CatalogResolver"/>
<arg
line="${dist.build.dir}/dist/doc/CDRL_docs/html/autolayout.xml"/>
<arg
line="${docbook.dir}/docbook-website-2.6.0/xsl/chunk-tabular.xsl"/>
<arg
line="output-root=${dist.build.dir}/dist/doc/CDRL_docs/html/"/>
</java>
-->
</target>
The build fails with the following error.
Buildfile: C:\ws\CJB\dist.xml
cdrl-website:
[copydir] DEPRECATED - The copydir task is deprecated. Use copy instead.
[copydir] Copying 4 files to C:\ws\CJB\build\dist\doc\CDRL_docs\html
[echo] C:\ws/CJB/lib/docbook
[xslt] Processing C:\ws\CJB\build\dist\doc\CDRL_docs\html\layout.xml to
C:\ws\CJB\build\dist\doc\CDRL_docs\html\autolayout.xml
[xslt] Loading stylesheet
C:\ws\CJB\lib\docbook\docbook-website-2.6.0\xsl\autolayout.xsl
Warning: catalogpath listing external catalogs will be ignored
[xslt] : Fatal Error! Failure reading
file:///C:/ws/CJB/build/dist/doc/CDRL_docs/html/layout.xml Cause:
java.io.FileNotFoundException:
http://docbook.sourceforge.net/release/website/2.5.0/schema/dtd/layout.dtd
[xslt] Failed to process
C:\ws\CJB\build\dist\doc\CDRL_docs\html\layout.xml
Can anyone point me the way from migrating from the <java> tasks that work,
to the <xslt> task that doesn't work.
Thanks in advance for any help.