*************************************************************
* Simple Java API for ODF                                   *
*                                                           *
*************************************************************
*                                                           *
* Version: @VERSION@                                              *
* Release Date: @DATE@                         *
*                                                           *
*************************************************************


About Simple
-------------

The Simple Java API for ODF is an easy-to-use, high-level Java API 
for creating, modifying and extracting data from ODF 1.2 documents.
It is written in pure Java and does not require that you install any
document editor on your system. The Simple Java API for ODF is a high
level abstraction of the lower-level ODFDOM API


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

The latest release notes are available online at the project's 
Wiki page:
    http://odftoolkit.org/projects/simple/pages/Home

In general, the Wiki page is a great place to start when looking 
for online information about the simple project:
    http://odftoolkit.org/projects/simple/pages/Home

The website is another place that you can get online documentations, 
such as cookbook, javadoc and demo codes:
    http://simple.odftoolkit.org/

API documentation (Javadoc) can be downloaded from the project's 
download area:
    http://odftoolkit.org/projects/simple/downloads

The Javadoc can also be viewed online:
    http://simple.odftoolkit.org/javadoc/index.html


License
--------

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


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

Just put the file simple.jar in your classpath. You will
need ODFDOM0.9-SNAPSHOT and Apache Xerces-J 2.9.1 as well. Get them from
    http://odftoolkit.org/projects/simple/downloads/directory/tools
    http://xerces.apache.org/mirrors.cgi
