| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <document> |
| |
| <properties> |
| <title>Commons</title> |
| <author email="dev@commons.apache.org">Commons Documentation Team</author> |
| </properties> |
| |
| <body> |
| |
| <section name="The Digester Component"> |
| |
| <p>Many 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://commons.apache.org/digester/commons-digester-2.0/docs/api/">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://commons.apache.org/digester/commons-digester-2.0/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 source code 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 Subversion repository via <a |
| href="http://svn.apache.org/viewvc/commons/proper/digester/trunk/src/examples/"> |
| the web-based repository browser</a> web site, or can use subversion to |
| download the files. |
| </p> |
| |
| <p>For the FAQ and other digester-related information, see |
| <a href="http://wiki.apache.org/commons/Digester">the Digester wiki page</a>. |
| </p> |
| |
| </section> |
| |
| <section name="Releases"> |
| <subsection name='Digester 2.0 Release (January 2009)'> |
| <p> |
| Digester 2.0 is a major release. New projects are encouraged to use this release |
| of digester. There are breaking changes from Digester 1.8, see release notes |
| in detail before choosing to upgrade. There is no urgency for existing |
| projects to upgrade; Digester 1.8 has proven to be a stable release. |
| </p> |
| <p> |
| Digester 2.0 <b>requires a minimum of JDK 1.5</b> and no longer requires any |
| classes from Commons Collections (as Digester 1.8 did). |
| </p> |
| <p> |
| The recommended dependency set for Digester 2.0 is: |
| </p> |
| <table> |
| <tr> |
| <th colspan='3'>Recommended Dependency Set</th> |
| </tr> |
| <tr> |
| <td>Digester</td> |
| <td>+Logging 1.1.1</td> |
| <td>+BeanUtils 1.8.0</td> |
| </tr> |
| </table> |
| <p> |
| It is also possible to use Logging 1.0.x or BeanUtils 1.7.0 instead. |
| </p> |
| </subsection> |
| |
| <subsection name='Digester 1.8.1 Release (January 2009)'> |
| <p> |
| Digester 1.8.1 is a minor bugfix and maintenance release. Existing projects |
| using Digester 1.8 are encouraged to upgrade to the 1.8.1 release. New projects |
| are encouraged to use Digester 2.0, which requires JDK 1.5. See the release |
| notes for more details. |
| </p> |
| <p> |
| The dependencies for Digester 1.8.1 are identical to the dependencies for Digester 1.8. |
| </p> |
| <p> |
| Digester has a dependency on |
| <a href='http://commons.apache.org/collections'>Commons Collections</a>. |
| The dependency can alternatively be satisfied by including the latest BeanUtils |
| releases (1.7.0 or above) (which includes the stable collections ArrayStack class |
| necessary). |
| </p> |
| <p> |
| The recommended dependency set for Digester 1.8.1 is: |
| </p> |
| <table> |
| <tr> |
| <th colspan='3'>Recommended Dependency Set</th> |
| </tr> |
| <tr> |
| <td>Digester</td> |
| <td>+Logging 1.1.1</td> |
| <td>+BeanUtils 1.8.0</td> |
| </tr> |
| </table> |
| <p> |
| Other compatible dependency sets for Digester 1.8.1 can be summarized as follows: |
| </p> |
| <table> |
| <tr> |
| <th colspan='4'>Compatible Dependency Sets</th> |
| </tr> |
| <tr> |
| <td>Digester</td> |
| <td>+Logging 1.1.x</td> |
| <td>+BeanUtils 1.x</td> |
| <td>+Collections 2.x</td> |
| </tr> |
| <tr> |
| <td>Digester</td> |
| <td>+Logging 1.1.x</td> |
| <td>+BeanUtils 1.x</td> |
| <td>+Collections 3.x</td> |
| </tr> |
| </table> |
| <p> |
| It is also possible to use Logging 1.0.x or BeanUtils 1.7.0 instead. |
| </p> |
| </subsection> |
| <subsection name='Downloading'> |
| <ul> |
| <li>The most recent release is available from apache mirrors via |
| <a href="http://commons.apache.org/digester/download_digester.cgi"> |
| the regular download page</a>.</li> |
| <li>Reasonably recent releases are also available from apache mirrors, via the |
| "browse downloads" link at |
| <a href="http://commons.apache.org/digester/download_digester.cgi"> |
| the regular download page</a>.</li> |
| <li>Older releases can be found |
| <a href="http://archive.apache.org/dist/commons/digester/old"> |
| on the archive site</a>.</li> |
| </ul> |
| <p>Please remember to verify the MD5 check sums.</p> |
| </subsection> |
| </section> |
| |
| <section name="Resources"> |
| <ul> |
| <!-- newest first sounds like a reasonable rule --> |
| <li> |
| <a href="http://wiki.apache.org/commons/Digester">The Apache wiki page for the commons digester component</a>. |
| </li> |
| <li> |
| Jan 6, 2005 - <a href="http://www.onjava.com/pub/a/onjava/2004/12/22/jakarta-gems-1.html">O'Reilly article</a> by Timothy M. O'Brien about jakarta commons in general, including info on Digester. |
| </li> |
| <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 Apache 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> |