*************************************************************
* ODFXSLTRunner                                             *
*                                                           *
*************************************************************
*                                                           *
* Version: 1.1.0                                     *
* Release Date: xx/xx/2010                                  *
*                                                           *
*************************************************************


About ODF XSLT Runner
---------------------

ODF XSLT Runner is a Java command line application that allows you to apply
XSLT stylesheets to XML streams included in ODF packages without extracting
them from the package.


Documentation
--------------

In general, the Wiki page is a great place to start when looking for online
documentation and other information about ODFXSLTRunner.
    http://odftoolkit.org/projects/odftoolkit/pages/ODFXSLTRunner


License
--------

Apache License, Version 2.0. Please see file LICENSE.txt.


Installation
-------------

Just put the file odfxsltrunner.jar in your classpath.

You will need ODFDOM. Get it from
    http://odftoolkit.org/projects/odfdom

You will further need Apache Xerces-J. Get it from
    http://xml.apache.org/dist/xerces-j/
