Larry Garfield wrote:
Hi all. So I am once again struggling with setting up the build environment
for a DocBook project. Because I need multi-file output I'm using the Xalan-J
parser, which has its own lengthy toolchain behind it.
I'm running the build on (K)Ubuntu 8.10, which has packages for nearly
everything in that toolchain. Specifically, I have the following installed;
ant
docbook-xml
docbook-xsl
libsaxon-java
libxerces2-java
libxalan2-java
libxml-commons-resolver1.1-java
All create the appropriate files or symlinks in my existing classpath save the
last one, which has a version number in its file name. I therefore simply
created a symlink for it. When I try to run the build script through ant, I
get the following error:
Could not find com.elharo.xml.xinclude.SAXXIncluder. Make sure you have it in
your classpath
That's xom from Elliotte.
Why aren't you asking this on the Ubuntu list, since it's their toolset
you're using?
XOM isn't needed for docbook build.
According to locate, there is no file named SAXXIncluder anywhere.
Possibly the sax parser called up by the transform?
So what exactly am I missing here? Is there another jar file I need to
reference? Is there a 3rd party download I need from somewhere? Is the file
actually on my system somewhere and I just don't know how to reference it?
Does anyone have any suggestions on how to un-confuse me? :-(
Yes.
Start from what you know.
You need
an xml parser (with xinclude support if you need it)
An xslt engine (Xalan or Saxon)
The xslt stylesheets.
Install those where you know where they are and start from there
with a simple transform?
I use saxon, you'll need to change those
<property name="xslt2.processor.class" value="net.sf.saxon.Transform" />
<!-- path for xslt processor.
Includes resolver and extensions and catalogManager.properties
file. -->
<path id="xslt2.processor.classpath">
<pathelement path="/myjava/saxon9.jar"/> <!-- Saxon jar -->
<pathelement path="/myjava/resolver.jar"/> <!-- resolver jar -->
<pathelement path="${websiteHome}/extensions/saxon64.jar"/>
<pathelement path="/myjava/xercesImpl.jar"/>
<pathelement path="/sgml"/> <!-- for catalogManager.properties -->
<pathelement path="."/>
</path>
<target name="docbook" depends="validate">
<echo>Transform docbook to HTML using XSLT1</echo>
<java classname="${xslt1.processor.class}"
fork="yes"
dir="${in.dir}"
failonerror="true">
<classpath refid="xslt1.processor.classpath" />
<jvmarg
line="-Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration"/>
<jvmarg
line="-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"/>
<jvmarg
line="-Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
<arg line="-o ${out.dir}/${main.outfile}"/>
<arg line="-l"/>
<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="${in.dir}/${main.infile} ${main.stylesheet}
${param.args.post}" /> -->
<arg line="tmp.xml ${main.stylesheet} ${param.args.post}" />
</java>
<tstamp>
<format property="fintim" pattern="E @ H:m a" locale="en,UK"/>
</tstamp>
<echo>Finished on ${fintim}</echo>
</target>
I think that's complete.
HTH
regards
--
Dave Pawson
XSLT XSL-FO FAQ.
http://www.dpawson.co.uk
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]