以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  问一个sax解析xml的问题。急  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=9558)


--  作者:chowc
--  发布时间:8/25/2004 5:32:00 PM

--  问一个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工程里,我一直没有找到响应的类和响应的方法。

急。多谢多谢。


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms