01: /*
02: * The contents of this file are subject to the terms
03: * of the Common Development and Distribution License
04: * (the "License"). You may not use this file except
05: * in compliance with the License.
06: *
07: * You can obtain a copy of the license at
08: * https://jwsdp.dev.java.net/CDDLv1.0.html
09: * See the License for the specific language governing
10: * permissions and limitations under the License.
11: *
12: * When distributing Covered Code, include this CDDL
13: * HEADER in each file and include the License file at
14: * https://jwsdp.dev.java.net/CDDLv1.0.html If applicable,
15: * add the following below this CDDL HEADER, with the
16: * fields enclosed by brackets "[]" replaced with your
17: * own identifying information: Portions Copyright [yyyy]
18: * [name of copyright owner]
19: */
20: package com.sun.xml.xsom.parser;
21:
22: import java.io.IOException;
23:
24: import org.xml.sax.ContentHandler;
25: import org.xml.sax.EntityResolver;
26: import org.xml.sax.ErrorHandler;
27: import org.xml.sax.InputSource;
28: import org.xml.sax.SAXException;
29:
30: /**
31: * Interface that hides the detail of parsing mechanism.
32: *
33: * @author
34: * Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
35: */
36: public interface XMLParser {
37: /**
38: * Parses the document identified by the given input source
39: * and sends SAX events to the given content handler.
40: *
41: * <p>
42: * This method must be re-entrant.
43: *
44: * @param errorHandler
45: * Errors found during the parsing must be reported to
46: * this handler so that XSOM can recognize that something went wrong.
47: * Always a non-null valid object
48: * @param entityResolver
49: * Entity resolution should be done through this interface.
50: * Can be null.
51: *
52: * @exception SAXException
53: * If ErrorHandler throws a SAXException, this method
54: * will tunnel it to the caller. All the other errors
55: * must be reported to the error handler.
56: */
57: void parse(InputSource source, ContentHandler handler,
58: ErrorHandler errorHandler, EntityResolver entityResolver)
59:
60: throws SAXException, IOException;
61: }
|