You can use macrodefs to make it more readable to others.
First define a macrodef something like as follows
<macrodef name="forked-xslt">
<attribute name="in"/>
<attribute name="out/>
<attribute name="style"/>
<sequential>
<java jar="${saxon}" fork="true" failonerror="true" maxmemory="256m">
<arg value="-s:@{in}"/>
<!-- XSLT stylesheet -->
<arg value="@{style}"/>
</java>
</sequential>
</macrodef>
Now you can invoke the macrodef as follows
<forked-xslt in="command-spreadsheet.xml" out="out.xml" style="intermed.xsl"/>
________________________________
From: Mark Giffin <[email protected]>
To: Ant Users List <[email protected]>
Cc: Vimil Saju <[email protected]>
Sent: Sunday, August 5, 2012 7:20 PM
Subject: Re: Increase Java heap within xslt task?
I assume you mean running the java task with the fork attribute set to
true, not the xslt task. Nothing is wrong with using the java task, but
I thought it might be a little easier for someone else to understand if
I used the xslt task instead. But this seems like more trouble than it
is worth.
Thanks for your help!
On 8/5/2012 7:02 PM, Vimil Saju wrote:
> max heap memory size is a jvm level setting that the xslt task has no control
> over. The only way to specify a different heap memory size for the xslt task
> is to run it in a different jvm, Running the xslt task by setting the fork
> attribute to true as you showed in the second approach is the way to go. What
> is wrong with this approach?
>
>
>
> ________________________________
> From: Mark Giffin <[email protected]>
> To: Ant Users List <[email protected]>
> Sent: Sunday, August 5, 2012 5:53 PM
> Subject: Increase Java heap within xslt task?
>
> How can I increase the memory for the xslt task from within Ant 1.8.4, not
> with an environment variable? I am using Saxon by specifying the Saxon jar
> classpath in this target:
>
> <target name="commands">
> <xslt in="command-spreadsheet.xml" out="out.xml"
> style="intermed.xsl" force="true">
> <classpath location="${saxon}" />
> </xslt>
> </target>
>
> This transform job crashes with "java.lang.OutOfMemoryError: Java heap space"
> unless I set ANT_OPTS=-Xmx256m. But I don't want to have to depend on an env
> variable. Is there a way to increase JVM heap space within the xslt task? I
> can run this same transform successfully with the java task like this, using
> the maxmemory attribute to increase the heap space:
>
> <target name="old">
> <java jar="${saxon}" fork="true" failonerror="true" maxmemory="256m">
> <!-- Source file -->
> <arg value="-s:command-spreadsheet.xml"/>
> <!-- XSLT stylesheet -->
> <arg value="-xsl:intermed.xsl"/>
> </java>
> </target>
>
> There is no maxmemory attribute for the xslt task. I would rather use the
> xslt task if I can.
>
> Thanks,
> Mark
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]