javax.xml.parsers

Class SAXParser


public abstract class SAXParser
extends Object

Convenience class for using or accessing a SAX version 1 or 2 parser. Instances of this class are not guaranteed to be thread safe.

Constructor Summary

SAXParser()
The basic constructor.

Method Summary

abstract Parser
getParser()
Returns the underlying SAX1 parser.
abstract Object
getProperty(String name)
Returns the value of the specified SAX2 parser property.
Schema
getSchema()
Returns the schema in use by this parser.
abstract XMLReader
getXMLReader()
Returns the underlying SAX2 parser.
abstract boolean
isNamespaceAware()
Indicates whether this parser is XML Namespace aware.
abstract boolean
isValidating()
Indicates whether this parser will validate its input.
boolean
isXIncludeAware()
Indicates whether this parser is XInclude-aware.
void
parse(File f, HandlerBase hb)
Parse the content of the specified file, reporting SAX1 events to the given handler.
void
parse(File f, DefaultHandler dh)
Parse the content of the specified file, reporting SAX2 events to the given handler.
void
parse(InputStream is, HandlerBase hb)
Parse the specifed input stream, reporting SAX1 events to the given handler.
void
parse(InputStream is, HandlerBase hb, String systemId)
Parse the specified input stream, reporting SAX1 events to the given handler.
void
parse(InputStream is, DefaultHandler dh)
Parse the specified input stream, reporting SAX2 events to the given handler.
void
parse(InputStream is, DefaultHandler dh, String systemId)
Parse the specified input stream, reporting SAX2 events to the given handler.
void
parse(String uri, HandlerBase hb)
Parse the content of the specified URI, reporting SAX1 events to the given handler.
void
parse(String uri, DefaultHandler dh)
Parse the content of the specified URI, reporting SAX2 events to the given handler.
void
parse(InputSource is, HandlerBase hb)
Parse the specified input source, reporting SAX1 events to the given handler.
void
parse(InputSource is, DefaultHandler dh)
Parse the specified input source, reporting SAX2 events to the given handler.
void
reset()
Resets this parser to its original configuration.
abstract void
setProperty(String name, Object value)
Sets the specified SAX2 parser property.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

SAXParser

protected SAXParser()
The basic constructor. Object is special, because it has no superclass, so there is no call to super().

Method Details

getParser

public abstract Parser getParser()
            throws SAXException
Returns the underlying SAX1 parser.

getProperty

public abstract Object getProperty(String name)
            throws SAXNotRecognizedException,
                   SAXNotSupportedException
Returns the value of the specified SAX2 parser property.
Parameters:
name - the name of the property

getSchema

public Schema getSchema()
Returns the schema in use by this parser.
Since:
1.3

getXMLReader

public abstract XMLReader getXMLReader()
            throws SAXException
Returns the underlying SAX2 parser.
Since:
1.1

isNamespaceAware

public abstract boolean isNamespaceAware()
Indicates whether this parser is XML Namespace aware.

isValidating

public abstract boolean isValidating()
Indicates whether this parser will validate its input.

isXIncludeAware

public boolean isXIncludeAware()
Indicates whether this parser is XInclude-aware.
Since:
1.3

parse

public void parse(File f,
                  HandlerBase hb)
            throws SAXException,
                   IOException
Parse the content of the specified file, reporting SAX1 events to the given handler. Prefer the SAX2 version of this method, since the HandlerBase class is now deprecated.
Parameters:
f - an XML file
hb - the SAX1 handler
Throws:
IllegalArgumentException - if the file is null

parse

public void parse(File f,
                  DefaultHandler dh)
            throws SAXException,
                   IOException
Parse the content of the specified file, reporting SAX2 events to the given handler.
Parameters:
f - an XML file
dh - the SAX2 handler
Throws:
IllegalArgumentException - if the file is null

parse

public void parse(InputStream is,
                  HandlerBase hb)
            throws SAXException,
                   IOException
Parse the specifed input stream, reporting SAX1 events to the given handler. Prefer the SAX2 version of this method, since the HandlerBase class is now deprecated. Also prefer the version of this method that specifies a system ID, in order to resolve external references correctly.
Parameters:
is - an XML input stream
hb - the SAX1 handler
Throws:
IllegalArgumentException - if the input stream is null

parse

public void parse(InputStream is,
                  HandlerBase hb,
                  String systemId)
            throws SAXException,
                   IOException
Parse the specified input stream, reporting SAX1 events to the given handler. Prefer the SAX2 version of this method, since the HandlerBase class is now deprecated.
Parameters:
is - an XML input stream
hb - the SAX1 handler
systemId - the system ID of the XML document
Throws:
IllegalArgumentException - if the input stream is null

parse

public void parse(InputStream is,
                  DefaultHandler dh)
            throws SAXException,
                   IOException
Parse the specified input stream, reporting SAX2 events to the given handler. Prefer the version of this method that specifies a system ID, in order to resolve external references correctly.
Parameters:
is - an XML input stream
dh - the SAX2 handler
Throws:
IllegalArgumentException - if the input stream is null

parse

public void parse(InputStream is,
                  DefaultHandler dh,
                  String systemId)
            throws SAXException,
                   IOException
Parse the specified input stream, reporting SAX2 events to the given handler.
Parameters:
is - an XML input stream
dh - the SAX2 handler
systemId - the system ID of the XML document
Throws:
IllegalArgumentException - if the input stream is null

parse

public void parse(String uri,
                  HandlerBase hb)
            throws SAXException,
                   IOException
Parse the content of the specified URI, reporting SAX1 events to the given handler. Prefer the SAX2 version of this method, since the HandlerBase class is now deprecated.
Parameters:
uri - an XML system ID
hb - the SAX1 handler
Throws:
IllegalArgumentException - if the URI is null

parse

public void parse(String uri,
                  DefaultHandler dh)
            throws SAXException,
                   IOException
Parse the content of the specified URI, reporting SAX2 events to the given handler.
Parameters:
uri - an XML system ID
dh - the SAX2 handler
Throws:
IllegalArgumentException - if the URI is null

parse

public void parse(InputSource is,
                  HandlerBase hb)
            throws SAXException,
                   IOException
Parse the specified input source, reporting SAX1 events to the given handler. Prefer the SAX2 version of this method, since the HandlerBase class is now deprecated.
Parameters:
is - the SAX input source
hb - the SAX1 handler
Throws:
IllegalArgumentException - if the input source is null

parse

public void parse(InputSource is,
                  DefaultHandler dh)
            throws SAXException,
                   IOException
Parse the specified input source, reporting SAX2 events to the given handler.
Parameters:
is - an XML file
dh - the SAX2 handler
Throws:
IllegalArgumentException - if the input source is null

reset

public void reset()
Resets this parser to its original configuration.
Since:
1.3

setProperty

public abstract void setProperty(String name,
                                 Object value)
            throws SAXNotRecognizedException,
                   SAXNotSupportedException
Sets the specified SAX2 parser property.
Parameters:
name - the name of the property
value - the value of the property

SAXParser.java -- Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.