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 Digester component was designed to provide a common implementation that can be used in many different projects.
Basically, the Digester package lets you configure an XML -> Java object mapping module, which triggers certain actions called rules whenever a particular pattern of nested XML elements is recognized. A rich set of predefined rules is available for your use, or you can also create your own. Advanced features of Digester include:
* Ability to plug in your own pattern matching engine, if the standard one is not sufficient for your requirements.
* Optional namespace-aware processing, so that you can define rules that are relevant only to a particular XML namespace.
* Encapsulation of Rules into RuleSets that can be easily and conveniently reused in more than one application that requires the same type of processing.