OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [docbook-apps] DocBook XSL Java build environment

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? :-(


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="."/>

    <target name="docbook" depends="validate">
       <echo>Transform docbook to HTML using XSLT1</echo>
	<java classname="${xslt1.processor.class}"
	    <classpath refid="xslt1.processor.classpath" />

	    <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}" />

	  <format property="fintim" pattern="E @ H:m a" locale="en,UK"/>
	<echo>Finished on ${fintim}</echo>

I think that's complete.



Dave Pawson

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]