/* * $Id: SAX1Test.java,v 1.3 2002/04/16 22:36:54 aslom Exp $ * * (C) Copyright 2002 by Yuval Oren. All rights reserved. * (C) Copyright 2002 by Aleksander Slominski. All rights reserved. * Modified from initial version by * Aleksander Slominski * * This software is released under the terms of the * GNU General Public License (GPL). Full * text is available at http://www.gnu.org/licenses/gpl.html */ import java.io.*; import org.xml.sax.*; import org.xml.sax.helpers.*; import java.net.*; public class SAX1Test extends SAXTest { private Parser parser; private static boolean no_reuse; public static void main(String[] args) { if (args.length < 2) { usage("at least two arguments must be present"); System.exit(1); } if(args.length == 3) { if(! "no_reuse".equals(args[2])) { usage("third option if present must be 'no_reuse'"); } no_reuse = true; } new SAX1Test(args[0],Integer.parseInt(args[1])); } public SAX1Test(String file, int iterations) { run(file,iterations); } static public void usage(String msg) { System.err.println("Usage: java SAX1Test [no_reuse]"); if(msg != null) System.err.println("Error:"+msg); } protected Parser makeParser() throws SAXException { try { Parser p = ParserFactory.makeParser(); p.setErrorHandler(this); p.setDocumentHandler(new MyDocumentHandler()); return p; } catch(Exception ex){ throw new SAXException("could not create parser: "+ex, ex); } } protected void init() throws Exception { if(! no_reuse) { parser = makeParser(); } } protected void parse(Reader reader) throws SAXException,IOException { if(no_reuse) { Parser p = makeParser(); p.parse(new InputSource(reader)); } else { parser.parse(new InputSource(reader)); } } // protected void parse(String file) throws SAXException,IOException { // parser.parse(file); // } }