[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Java and docbook xsl again
attached is the example, coupl of notes;- the first part configures the paths for the classpaths, it needs to match your system then i've used properties for input/output paths to make things easier this stuff tends to go in a separate "init" target that can be depended upon i note that your attempting to process a directory full of files, this exmaple only does a single file however saxon will except a dir for in and out params , however you can't filter out files like "empty.xml" - this is what I meant by a downside of the java task - it doesn't do stuff that style/xslt does for you. you would have to eddit the fop task for multiple files as well. oh one other detail, i use forward slashes on all paths - ant usually tranlates these for you. this *isn't* done for things passed as arguments to the java task. with some hacking this should meet your needs... HTH, Ian Wendy Smoak wrote: > [sorry, wrong button before...] > > From: "Ian Atkin" <ianatkin@blueyonder.co.uk> > >> I have a working example build script with ant 1.6.2, saxon 6.5.3, >> docbook-xsl 1.68.1 and fop 0.20.5 if your interested... > > > What I was trying to say is, Yes! An example build file would be great. > I've got the 'fop' task working for .fo -> .pdf, but the only way I can > get the .fo file is with Cygwin and 'xmlto'. > > Thanks, > Wendy Smoak > > >
<?xml version="1.0"?> <project name="saxon-dbk-pdf" default="build" basedir="."> <target name="build"> <!-- ================ CONFIG =================== --> <!-- software paths, adjust for your system --> <property name="dbk.xsl.dir" value="${user.home}/installs/docbook-xsl-1.68.1"/> <property name="fop.dir" value="${user.home}/installs/fop-0.20.5"/> <property name="saxon.dir" value="${user.home}/installs/saxon-6.5.3"/> <property name="resolver.dir" value="${user.home}/installs/xml-commons-resolver-1.1"/> <!-- in/out paths, edit for your needs --> <property name="input.xml.path" value="${user.home}/projects/websites/olink-test/xml/book.xml"/> <property name="output.fo.path" value="book.fo"/> <property name="output.pdf.path" value="book.pdf"/> <!-- classpaths, shouldn't need to change (unless software distribution has changed locations--> <taskdef name="fop" classname="org.apache.fop.tools.anttasks.Fop"> <classpath> <pathelement location="${fop.dir}/build/fop.jar"/> <pathelement location="${fop.dir}/build/fop.jar"/> <pathelement location="${fop.dir}/lib/avalon-framework-cvs-20020806.jar"/> <pathelement location="${fop.dir}/lib/batik.jar"/> </classpath> </taskdef> <path id="classpath"> <pathelement location="${saxon.dir}/saxon.jar"/> <pathelement location="${resolver.dir}/resolver.jar"/> </path> <!-- ============= MAKE OUTPUT DIR =================== --> <mkdir dir="build"/> <!-- ================ XML => FO =================== --> <java classpathref="classpath" classname="com.icl.saxon.StyleSheet" fork="yes" dir="."> <sysproperty key="xml.catalog.prefer" value="public"/> <sysproperty key="xml.catalog.files" value="${user.home}/.catalogs"/> <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="-o ${output.fo.path}"/> <arg line="${input.xml.path}"/> <arg line="${dbk.xsl.dir}/fo/docbook.xsl"/> </java> <!-- ================ FO => PDF =================== --> <fop format="application/pdf" fofile="${output.fo.path}" outfile="${output.pdf.path}"/> </target> </project>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]