Apply XSLT stylesheets to ODF documents with Ant
ODFXSLTRunnerTask is a task definition for Ant which allows to apply XSLT stylesheets to ODF documents similar to Ant's build-in <xslt> task.
Getting and building ODFXSLTRunnerTask
odfxsltrunnertask is build by a NetBeans project. After you have checked out the sources, you can open the project in NetBeans and build odfxsltrunnertask.
A binary release of odfxsltrunnertask.jar is available here.
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" classpath="<path>/odfxsltrunnertak.jar:<path>/odfxsltrunner.jar"/>
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> elements which have the same meaning as the <param> child elements of the <xslt> task.
|in||specifies an ODF document to which the stylesheet is applied.||Yes, unless infile has been specified|
|infile||specifies a plain XML document to which the stylesheet is applied.||Yes, unless in has been specified|
|out||specifies 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|
|outfile||specifies a plain XML document to which the result of the transformation is stored.||Yes, unless out has been specified|
|path||Specifies the stream within the ODF packages specified by in and out, which is the source or target of the transformation.||No|
|template||Specifies 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"|
|force||Specifies 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.
|name||name of the paramter.||Yes|
|expression||value of the paramter.
Note: All parameter values are passed as string values to the XSLT paramters specified by <xslt:param> elements within the stylesheet.
Note: The paramters if and unless which are supported by the <xslt> task are (not yet) supported.
odfxsltrunnertask requires J2RE 5, or a later version of Java.
It further requires ODFXSLTRunner and ODFDOM (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's xerces. The jar file xercesImpl.jar also must exist in a folder lib next to odfxsltrunner.jar file.