SAX Parser is used to parse the xml file because basically
it is for the ActionServlet to read the xml file rather
than writing something into the struts-config xml file
just the action servlet has to read the file and construts
the module config object for the one time and load it
so as SAX Parser is basically for reading and doing some
search operation Struts uses this aproach intelligently.
The Digester class parser the XML document. The Digester
framework comes with 10 prepackaged "rules," which cover
most of the required tasks when unmarshalling XML (such as
creating a bean or setting a bean property), but each user
is free to define and implement his or her own rules, as
See what happens is that Struts uses the Digester to map the xml data in the struts-config.xml to java objects.
Now internally digester needs a Sax parser and it could do with either a xerces/crimson parser as both are sax parsers