| <?xml version="1.0"?> |
| |
| <document> |
| |
| <properties> |
| <title>Commons</title> |
| <author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author> |
| </properties> |
| |
| <body> |
| |
| <section name="The Digester Component"> |
| |
| <p>Many Jakarta projects read XML configuration files to provide initialization |
| of various Java objects within the system. There are several ways of doing |
| this, and the <em>Digester</em> component was designed to provide a common |
| implementation that can be used in many different projects.</p> |
| |
| <p>Basically, the <em>Digester</em> package lets you configure an XML -> |
| Java object mapping module, which triggers certain actions called |
| <em>rules</em> whenever a particular pattern of nested XML elements is |
| recognized. A rich set of predefined <em>rules</em> is available for your |
| use, or you can also create your own. Advanced features of <em>Digester</em> |
| include:</p> |
| <ul> |
| <li>Ability to plug in your own pattern matching engine, if the standard one |
| is not sufficient for your requirements.</li> |
| <li>Optional namespace-aware processing, so that you can define rules that |
| are relevant only to a particular XML namespace.</li> |
| <li>Encapsulation of <em>Rules</em> into <em>RuleSets</em> that can be |
| easily and conveniently reused in more than one application that requires |
| the same type of processing.</li> |
| </ul> |
| |
| |
| </section> |
| |
| |
| <section name="Documentation"> |
| |
| <p>User documentation is available as package descriptions within the |
| <a href="http://jakarta.apache.org/commons/digester/api/index.html">JavaDoc |
| API documents</a>. In particular, you should read the package description for |
| the <code>org.apache.commons.digester</code> package for detailed information |
| on using the package.</p> |
| |
| <p>The <a href="http://jakarta.apache.org/commons/digester/RELEASE-NOTES.txt"> |
| Release Notes</a> document the new features and bug fixes that have been |
| included in this release.</p> |
| |
| <p>The "examples" directory in the CVS repository contains code which |
| demonstrates the basic functionality. In particular, you should read the |
| AddressBook example in the "api" subdirectory. You can view the examples |
| directly from the CVS repository via <a |
| href="http://cvs.apache.org/viewcvs.cgi/jakarta-commons/digester/src/examples/"> |
| the ViewCVS</a> web site, or can use CVS to download the files. |
| </p> |
| |
| </section> |
| |
| |
| <section name="Releases"> |
| <subsection name='Digester 1.6 Release'> |
| <p> |
| Digester 1.6 is an important release adding extra functionality |
| as well as fixes for bugs. It represents an important milestone in the evolution |
| of the Digester 1 design codebase. |
| </p> |
| <p> |
| Digester has a dependency on |
| <a href='http://jakarta.apache.org/commons/collections'>Commons Collections</a>. |
| This threatens to raise compatibility issues |
| now that two incompatible series of releases exist. |
| Fortunately, this dependency is only upon a single mature class (ArrayStack) and the versions |
| of this class to be found in different versions of the library are binary compatible. |
| Therefore a release from the 2.x series or from the 3.x series of commons collections |
| will do equally well (even though these libraries are incompatible). The dependency can |
| alternatively be satisfied by including the latest BeanUtils release (1.7) |
| (which includes the class). |
| </p> |
| <p> |
| The dependencies neccessary for Digester 1.6 can be summarized as follows: |
| </p> |
| <table> |
| <tr> |
| <th colspan='4'>Compatible Dependency Sets</th> |
| </tr> |
| <tr> |
| <td>Digester</td> |
| <td>+Logging 1.0.x</td> |
| <td>+BeanUtils 1.x</td> |
| <td>+Collections 2.x</td> |
| </tr> |
| <tr> |
| <td>Digester</td> |
| <td>+Logging 1.0.x</td> |
| <td>+BeanUtils 1.x</td> |
| <td>+Collections 3.x</td> |
| </tr> |
| <tr> |
| <td>Digester</td> |
| <td>+Logging 1.0.x</td> |
| <td>+BeanUtils 1.7</td> |
| <td>-</td> |
| </tr> |
| </table> |
| <p> |
| Digester 1.6.0 release is currently in preparation. |
| </p> |
| </subsection> |
| <subsection name='Older Releases'> |
| <ul> |
| <li>Version 1.5 (from mirror) - 27 Apr 2003 |
| <a href="http://jakarta.apache.org/site/binindex.cgi">binary</a> |
| <a href="http://jakarta.apache.org/site/sourceindex.cgi">source</a> (latest)</li> |
| <li>Version 1.4.1 (from mirror) |
| <a href="http://jakarta.apache.org/site/binindex.cgi">binary</a> |
| <a href="http://jakarta.apache.org/site/sourceindex.cgi">source</a></li> |
| <li>Version 1.4 (from mirror) |
| <a href="http://jakarta.apache.org/site/binindex.cgi">binary</a> |
| <a href="http://jakarta.apache.org/site/sourceindex.cgi">source</a> |
| </li> |
| <li><a href="http://jakarta.apache.org/builds/jakarta-commons/release/commons-digester/v1.3/">Version 1.3</a></li> |
| <li><a href="http://jakarta.apache.org/builds/jakarta-commons/release/commons-digester/v1.2/">Version 1.2</a></li> |
| <li><a href="http://jakarta.apache.org/builds/jakarta-commons/release/commons-digester/v1.1.1/">Version 1.1.1</a></li> |
| <li><a href="http://jakarta.apache.org/builds/jakarta-commons/release/commons-digester/v1.0/">Version 1.0</a></li> |
| </ul> |
| </subsection> |
| </section> |
| |
| <section name="Resources"> |
| <ul> |
| <!-- newest first sounds like a reasonable rule --> |
| <li> |
| Jun 2, 2003 - <a href="http://www-106.ibm.com/developerworks/java/library/j-lucene/">IBM developerWorks article</a> by Otis Gospodnetic about parsing, indexing and searching XML with Digester and Lucene. |
| </li> |
| <li> |
| Oct 25, 2002 - <a href="http://www.javaworld.com">JavaWorld</a> has an |
| article on Digester entitled <a href="http://www.javaworld.com/javaworld/jw-10-2002/jw-1025-opensourceprofile.html"> |
| Simplify XML file processing with the Jakarta Commons Digester</a>. |
| </li> |
| <li> |
| Oct 23, 2002 - <a href="http://www.onjava.com">OnJava</a> has an article |
| on Digester entitled |
| <a href="http://www.onjava.com/pub/a/onjava/2002/10/23/digester.html"> |
| Learning and using Jakarta Digester</a>.</li> |
| </ul> |
| </section> |
| |
| </body> |
| </document> |