问一个sax解析xml的问题
最近在看一个开源的项目jasperreport,在jasperreport工程中,src.net.sf.jasperreports.engine.xml.jrXmlDigesterFactory.java文件中,configureDigester()方法:
public static void configureDigester(Digester digester)
throws SAXException, ParserConfigurationException
{
String validation = System.getProperty
("jasper.reports.compile.xml.validation");
if (validation == null || validation.length() == 0)
{
validation = "true";
}
boolean validating = Boolean.valueOf(validation).booleanvalue();
digester.setErrorHandler(new ErrorHandlerImpl());
digester.setValidating(validating);
digester.setFeature("http://xml.org/sax/features/validation", validating);
/* */
digester.addFactoryCreate("jasperReport", JasperDesignFactory.class.getName());
digester.addSetNext("jasperReport", "setJasperDesign", JasperDesign.class.getName());
/* */
digester.addCallMethod("jasperReport/property", "setProperty", 2);
digester.addCallParam("jasperReport/property", 0, "name");
digester.addCallParam("jasperReport/property", 1, "value");
/* */
digester.addFactoryCreate("jasperReport/reportFont", JRReportFontFactory.class.getName());
digester.addSetNext("jasperReport/reportFont", "addFont", JRReportFont.class.getName());
这一段解析的程序,都是什么意思。特别是addSetNext()方法里,里面三个参数都是什么?当我解析到同样的节点时候,jasperreport里的哪个类哪个方法响应。在jasperreport工程里,我一直没有找到响应的类和响应的方法。