Apply XSLT stylesheets to ODF documents with Ant

ODFXSLTRunnerTask is a task definition for Apache Ant which allows to apply XSLT stylesheets to ODF documents similar to Ant's build-in <xslt> task. It is based on ODFXSLTRunner. Please see ODFXSLTRunner for further details of its operation.

Getting and building ODFXSLTRunnerTask

odfxsltrunnertask is build by a NetBeans project. After you have checked out the odf-xslt-runner-task-src/show, you can open the project in NetBeans and build odfxsltrunnertask.

A binary release of odfxsltrunnertask.jar is available in the download section.

Building and running odfxsltrunner.jar requires additional jar files. Please see Requirements for details.


To use odfxsltrunner.jar with Ant, you have to include the following task definition into your buildfile, where ''<path>'' has to be replaced with the path where you have stored the odfxsltrunnertask.jar and odfxsltrunner.jar files:

 <taskdef name="odfxslt" classname="odfxsltrunnertask.ODFXSLTRunnerTask" 

You can use this task definition on the top level (that is as a child element of the <project> element or locally within a single <target> element. It defines a new task <odfxslt> which allows to process ODF documents with XSLT stylesheets.

The new task supports the use of nested <param> and <factory>elements which have the same meaning as the <param> and <factory> child elements of the <xslt> task.


inspecifies an ODF document to which the stylesheet is applied.Yes, unless infile has been specified
infilespecifies a plain XML document to which the stylesheet is applied.Yes, unless in has been specified
outspecifies an ODF document to which the result of the transformation is stored.
Unless template has been specified, the package specified by in is copied to out, and the stream specified by path is replaced with the result of the transformation.
Yes, unless outfile has been specified
outfilespecifies a plain XML document to which the result of the transformation is stored.Yes, unless out has been specified
pathSpecifies the stream within the ODF packages specified by in and out, which is the source or target of the transformation.No
templateSpecifies that the specified stream within the out ODF package is replaced with the result of the transformation, without previously copying the package specified by in. The specified out package must exist.No: Default is "content.xml"
forceSpecifies that the target file shall be recreated, even if it is newer than the source file or the stylesheet.No: Default is false

Parameters specified as nested elements


Param specifies a parameter that is passed as XSLT parameter to the XSL stylesheet.


namename of the parameter.Yes
expressionvalue of the parameter. Note: All parameter values are passed as string values to the XSLT parameters specified by <xslt:param> elements within the stylesheet. Yes

Note: The parameters if and unless which are supported by the <xslt> task are (not yet) supported.


Factory specifies Java TransformerFactory class to use.


namefull qualified TransformerFactory class name.Yes


odfxsltrunnertask requires J2RE 5, or a later version of Java.

It further requires ODFXSLTRunner and the ODFDOM component (at least version v0.6.1).

Note: When building odfxsltrunertask, the odfxsltrunner project has be checked out, too. It is build automatically.

In the Ant task definition, the classpth attribute must include the odfxsltrunnertask.jar and odfxsltrunner.jar files. The ODFDOM jar file is found automatically if it is located in a folder called lib next to the odfxsltrunner.jar file.

Note: ODFDOM v0.6.1 requires Apache Xerces. The jar file xercesImpl.jar also must exist in a folder lib next to odfxsltrunner.jar file.

Powered by the Apache CMS.

Apache "ODF Toolkit" is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

Copyright © 2011 The Apache Software Foundation Licensed under the Apache License, Version 2.0. Contact Us
Apache and the Apache feather logos are trademarks of The Apache Software Foundation.
Other names appearing on the site may be trademarks of their respective owners.