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]

Reply via email to