you could do something like

<?xml version='1.0'?>

<project name='transform' default='build' basedir=".">

  <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>

  <property name="jar.saxon" location="/opt/saxon/saxon8.jar"/>
 
 
  <macrodef name="transform">
    <attribute name="src"/>
    <attribute name="dest"/>
    <attribute name="style"/>
    <sequential>
     
      <mkdir dir="@{dest}"/>
    
      <uptodate property="transform.notRequired">
        <srcfiles dir= "@{src}" includes="**/*.xml"/>
        <mapper type="merge" to="@{dest}/**/*.html"/>
      </uptodate>
 
      <if>
        <equals arg1="${transform.notRequired}" arg2="true" />
        <then>
          Transform not required
        </then>
        <else>

      <xslt in="@{src}"
            out="@{dest}"
            style="@{style}"
            extension=".html"
            includes="**.xml"
            basedir=".">
       
        <outputproperty name="method" value="xml"/>
        <outputproperty name="standalone" value="yes"/>
        <outputproperty name="encoding" value="iso8859_1"/>
        <outputproperty name="indent" value="yes"/>
   
        <classpath>
          <pathelement location="${jar.saxon}"/>
        </classpath>
      </xslt>
         
        </else>
      </if>
    </sequential>
  </macrodef>
 
 
  <target name='build'>
    <transform src="test" dest="webroot" style="xsl/index.xsl"/>
  </target>

</project>

using ant-contrib's if task....once again u still only get dir by dir
checking, this could easily be customised to work on a per file basis
(then iterate using <for/> task)...though as you can see things get more
procedural..

gl, Jim Fuller

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to