Huditsch Roman wrote:
>Hi list,
>
>Although I search the archives, I could not find any useful hint for my
>problem.
>I recently started using ant for controlling my XSLT transformations.
>Actually, I need ant to take control over the execution of the appropriate
>batch file for a given target.
>These target-specific batch-files are handling my stylesheet calls using Saxon.
>
>So far, everything works fine.
>The proplem is taht everytime I start the transformation, all files of my
>input folder are converted.
>I would like ant to just produce new or changed files (since the last
>transformation call).
>the source folder is specified within my batch file, so I am nor sure if I
>need to rewrite my ant and abtch files....
>Any help is greatly appreciated.
>
>
>My Ant file:
>========
>
><?xml version="1.0" encoding="ISO-8859-1"?>
><project name="Content Produktion" default="GLP_Legislation" basedir=".">
> <target name="GLP_Legislation" description="Normen, Verordnungen,
> Staatsvertr�ge,...">
> <exec dir="R:\Produktion\Legislations" executable="cmd">
> <arg line="/c transform_legislations.bat"/>
> </exec>
> </target>
></project>
>
>
why not control Saxon directly from Ant ?
You can use the <xslt/> Ant task or use <java/> to invoke saxon...which
may or may not have the built in up to date checking you desire
the following is a macrodef which you can use to invoke Saxon as a task
using <java/>;
<macrodef name="saxon">
<attribute name="current"/>
<attribute name="src"/>
<attribute name="dest"/>
<sequential>
<mkdir dir="${dir.dist}/@{current}"/>
<java classname="net.sf.saxon.Transform"
fork="true"
failonerror="false"
maxmemory="256m">
<!-- these are just saxon specific switches, change as u see fit -->
<arg value="-w1"/>
<arg value="-o"/>
<arg value="@{dest}/@{current}"/>
<arg value="-a"/>
<arg value="@{src}/@{current}"/>
<!-- examples of passing in parameters -->
<arg value="lang=en"/>
<arg value="usedublincore=yes"/>
<arg value="client=web"/>
<arg value="tstamp=${ts.DSTAMP}:${ts.TSTAMP}"/>
<classpath>
<pathelement location="${jar.saxon}"/>
</classpath>
</java>
</sequential>
</macrodef>
though I would suggest trying out the <xslt/> task first...this is a
good example of wrapping up a <java/> call and effectively making it a
new task to call;
you will need to supply the various properties, but to invoke this in
your Targets just do
<saxon current="" dest="" src=""/>
where;
dest= top level dest dir
src= top level src dir
current= specific dir to process under src
it depends on exactly how you have decided to perform transformation to
use such things as <uptodate/>....need a little more info.
gl, Jim Fuller
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]