1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// XMLReader.java - read an XML document.
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// http://www.saxproject.org
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// Written by David Megginson
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// NO WARRANTY!  This class is in the Public Domain.
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project// $Id: XMLReader.java,v 1.9 2004/04/26 17:34:34 dmegginson Exp $
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage org.xml.sax;
8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.io.IOException;
10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Interface for reading an XML document using callbacks.
14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <blockquote>
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <em>This module, both source code and documentation, is in the
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Public Domain, and comes with <strong>NO WARRANTY</strong>.</em>
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See <a href='http://www.saxproject.org'>http://www.saxproject.org</a>
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * for further information.
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * </blockquote>
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
22f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * <p><strong>Note:</strong> despite its name, this interface does
23f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * <em>not</em> extend the standard Java {@link java.io.Reader Reader}
24f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * interface, because reading XML is a fundamentally different activity
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * than reading character data.</p>
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p>XMLReader is the interface that an XML parser's SAX2 driver must
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * implement.  This interface allows an application to set and
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * query features and properties in the parser, to register
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * event handlers for document processing, and to initiate
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * a document parse.</p>
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p>All SAX interfaces are assumed to be synchronous: the
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@link #parse parse} methods must not return until parsing
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is complete, and readers must wait for an event-handler callback
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * to return before reporting the next event.</p>
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p>This interface replaces the (now deprecated) SAX 1.0 {@link
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * org.xml.sax.Parser Parser} interface.  The XMLReader interface
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contains two important enhancements over the old Parser
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * interface (as well as some minor ones):</p>
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <ol>
44f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * <li>it adds a standard way to query and set features and
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  properties; and</li>
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <li>it adds Namespace support, which is required for many
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *  higher-level XML standards.</li>
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * </ol>
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p>There are adapters available to convert a SAX1 Parser to
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * a SAX2 XMLReader and vice-versa.</p>
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @since SAX 2.0
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @author David Megginson
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @version 2.0.1+ (sax2r3pre1)
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see org.xml.sax.XMLFilter
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see org.xml.sax.helpers.ParserAdapter
58f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * @see org.xml.sax.helpers.XMLReaderAdapter
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic interface XMLReader
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project{
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    ////////////////////////////////////////////////////////////////////
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    // Configuration.
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    ////////////////////////////////////////////////////////////////////
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Look up the value of a feature flag.
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>The feature name is any fully-qualified URI.  It is
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * possible for an XMLReader to recognize a feature name but
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * temporarily be unable to return its value.
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Some feature values may be available only in specific
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * contexts, such as before, during, or after a parse.
77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Also, some feature values may not be programmatically accessible.
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * (In the case of an adapter for SAX1 {@link Parser}, there is no
79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * implementation-independent way to expose whether the underlying
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * parser is performing validation, expanding external entities,
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * and so forth.) </p>
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>All XMLReaders are required to recognize the
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * http://xml.org/sax/features/namespaces and the
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * http://xml.org/sax/features/namespace-prefixes feature names.</p>
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>Typical usage is something like this:</p>
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <pre>
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * XMLReader r = new MySAXDriver();
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *                         // try to activate validation
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * try {
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *   r.setFeature("http://xml.org/sax/features/validation", true);
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * } catch (SAXException e) {
96f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     *   System.err.println("Cannot activate validation.");
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * }
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *                         // register event handlers
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * r.setContentHandler(new MyContentHandler());
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * r.setErrorHandler(new MyErrorHandler());
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *                         // parse the first document
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * try {
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *   r.parse("http://www.foo.com/mydoc.xml");
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * } catch (IOException e) {
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *   System.err.println("I/O exception reading XML document");
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * } catch (SAXException e) {
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *   System.err.println("XML exception reading document.");
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * }
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * </pre>
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>Implementors are free (and encouraged) to invent their own features,
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * using names built on their own URIs.</p>
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param name The feature name, which is a fully-qualified URI.
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @return The current value of the feature (true or false).
118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception org.xml.sax.SAXNotRecognizedException If the feature
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            value can't be assigned or retrieved.
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception org.xml.sax.SAXNotSupportedException When the
121f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     *            XMLReader recognizes the feature name but
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            cannot determine its value at this time.
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #setFeature
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public boolean getFeature (String name)
126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        throws SAXNotRecognizedException, SAXNotSupportedException;
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Set the value of a feature flag.
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>The feature name is any fully-qualified URI.  It is
133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * possible for an XMLReader to expose a feature value but
134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * to be unable to change the current value.
135f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     * Some feature values may be immutable or mutable only
136f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     * in specific contexts, such as before, during, or after
137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * a parse.</p>
138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>All XMLReaders are required to support setting
140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * http://xml.org/sax/features/namespaces to true and
141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * http://xml.org/sax/features/namespace-prefixes to false.</p>
142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param name The feature name, which is a fully-qualified URI.
144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param value The requested value of the feature (true or false).
145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception org.xml.sax.SAXNotRecognizedException If the feature
146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            value can't be assigned or retrieved.
147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception org.xml.sax.SAXNotSupportedException When the
148f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     *            XMLReader recognizes the feature name but
149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            cannot set the requested value.
150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #getFeature
151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void setFeature (String name, boolean value)
153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    throws SAXNotRecognizedException, SAXNotSupportedException;
154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Look up the value of a property.
158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>The property name is any fully-qualified URI.  It is
160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * possible for an XMLReader to recognize a property name but
161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * temporarily be unable to return its value.
162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Some property values may be available only in specific
163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * contexts, such as before, during, or after a parse.</p>
164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>XMLReaders are not required to recognize any specific
166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * property names, though an initial core set is documented for
167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * SAX2.</p>
168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>Implementors are free (and encouraged) to invent their own properties,
170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * using names built on their own URIs.</p>
171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param name The property name, which is a fully-qualified URI.
173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @return The current value of the property.
174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception org.xml.sax.SAXNotRecognizedException If the property
175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            value can't be assigned or retrieved.
176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception org.xml.sax.SAXNotSupportedException When the
177f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     *            XMLReader recognizes the property name but
178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            cannot determine its value at this time.
179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #setProperty
180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public Object getProperty (String name)
182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    throws SAXNotRecognizedException, SAXNotSupportedException;
183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Set the value of a property.
187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>The property name is any fully-qualified URI.  It is
189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * possible for an XMLReader to recognize a property name but
190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * to be unable to change the current value.
191f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     * Some property values may be immutable or mutable only
192f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     * in specific contexts, such as before, during, or after
193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * a parse.</p>
194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>XMLReaders are not required to recognize setting
196f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     * any specific property names, though a core set is defined by
197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * SAX2.</p>
198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>This method is also the standard mechanism for setting
200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * extended handlers.</p>
201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param name The property name, which is a fully-qualified URI.
203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param value The requested value for the property.
204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception org.xml.sax.SAXNotRecognizedException If the property
205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            value can't be assigned or retrieved.
206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception org.xml.sax.SAXNotSupportedException When the
207f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     *            XMLReader recognizes the property name but
208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            cannot set the requested value.
209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void setProperty (String name, Object value)
211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    throws SAXNotRecognizedException, SAXNotSupportedException;
212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    ////////////////////////////////////////////////////////////////////
216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    // Event handlers.
217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    ////////////////////////////////////////////////////////////////////
218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Allow an application to register an entity resolver.
222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>If the application does not register an entity resolver,
224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * the XMLReader will perform its own default resolution.</p>
225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>Applications may register a new or different resolver in the
227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * middle of a parse, and the SAX parser must begin using the new
228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * resolver immediately.</p>
229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param resolver The entity resolver.
231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #getEntityResolver
232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void setEntityResolver (EntityResolver resolver);
234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Return the current entity resolver.
238adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @return The current entity resolver, or null if none
240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *         has been registered.
241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #setEntityResolver
242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public EntityResolver getEntityResolver ();
244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Allow an application to register a DTD event handler.
248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>If the application does not register a DTD handler, all DTD
250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * events reported by the SAX parser will be silently ignored.</p>
251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>Applications may register a new or different handler in the
253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * middle of a parse, and the SAX parser must begin using the new
254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * handler immediately.</p>
255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param handler The DTD handler.
257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #getDTDHandler
258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void setDTDHandler (DTDHandler handler);
260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Return the current DTD handler.
264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @return The current DTD handler, or null if none
266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *         has been registered.
267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #setDTDHandler
268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public DTDHandler getDTDHandler ();
270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Allow an application to register a content event handler.
274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>If the application does not register a content handler, all
276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * content events reported by the SAX parser will be silently
277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * ignored.</p>
278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>Applications may register a new or different handler in the
280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * middle of a parse, and the SAX parser must begin using the new
281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * handler immediately.</p>
282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param handler The content handler.
284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #getContentHandler
285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void setContentHandler (ContentHandler handler);
287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Return the current content handler.
291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
292adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @return The current content handler, or null if none
293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *         has been registered.
294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #setContentHandler
295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public ContentHandler getContentHandler ();
297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Allow an application to register an error event handler.
301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>If the application does not register an error handler, all
303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * error events reported by the SAX parser will be silently
304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * ignored; however, normal processing may not continue.  It is
305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * highly recommended that all SAX applications implement an
306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * error handler to avoid unexpected bugs.</p>
307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>Applications may register a new or different handler in the
309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * middle of a parse, and the SAX parser must begin using the new
310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * handler immediately.</p>
311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param handler The error handler.
313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #getErrorHandler
314adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void setErrorHandler (ErrorHandler handler);
316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Return the current error handler.
320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @return The current error handler, or null if none
322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *         has been registered.
323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #setErrorHandler
324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public ErrorHandler getErrorHandler ();
326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    ////////////////////////////////////////////////////////////////////
330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    // Parsing.
331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    ////////////////////////////////////////////////////////////////////
332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
334adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Parse an XML document.
335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>The application can use this method to instruct the XML
337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * reader to begin parsing an XML document from any valid input
338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * source (a character stream, a byte stream, or a URI).</p>
339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>Applications may not invoke this method while a parse is in
341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * progress (they should create a new XMLReader instead for each
342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * nested XML document).  Once a parse is complete, an
343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * application may reuse the same XMLReader object, possibly with a
344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * different input source.
345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Configuration of the XMLReader object (such as handler bindings and
346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * values established for feature flags and properties) is unchanged
347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * by completion of a parse, unless the definition of that aspect of
348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * the configuration explicitly specifies other behavior.
349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * (For example, feature flags or properties exposing
350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * characteristics of the document being parsed.)
351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * </p>
352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
353adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>During the parse, the XMLReader will provide information
354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * about the XML document through the registered event
355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * handlers.</p>
356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>This method is synchronous: it will not return until parsing
358f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     * has ended.  If a client application wants to terminate
359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * parsing early, it should throw an exception.</p>
360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param input The input source for the top-level of the
362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *        XML document.
363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception org.xml.sax.SAXException Any SAX exception, possibly
364adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            wrapping another exception.
365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception java.io.IOException An IO exception from the parser,
366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            possibly from a byte stream or character stream
367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            supplied by the application.
368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see org.xml.sax.InputSource
369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #parse(java.lang.String)
370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #setEntityResolver
371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #setDTDHandler
372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #setContentHandler
373f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     * @see #setErrorHandler
374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void parse (InputSource input)
376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    throws IOException, SAXException;
377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
378adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Parse an XML document from a system identifier (URI).
381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>This method is a shortcut for the common case of reading a
383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * document from a system identifier.  It is the exact
384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * equivalent of the following:</p>
385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <pre>
387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * parse(new InputSource(systemId));
388adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * </pre>
389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * <p>If the system identifier is a URL, it must be fully resolved
391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * by the application before it is passed to the parser.</p>
392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *
393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @param systemId The system identifier (URI).
394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception org.xml.sax.SAXException Any SAX exception, possibly
395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            wrapping another exception.
396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @exception java.io.IOException An IO exception from the parser,
397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            possibly from a byte stream or character stream
398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *            supplied by the application.
399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @see #parse(org.xml.sax.InputSource)
400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void parse (String systemId)
402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    throws IOException, SAXException;
403adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
405