## javax.xml.parsers
Class SAXParser

    java.lang.Object
      |
      +--javax.xml.parsers.SAXParser

public abstract class SAXParser
extends java.lang.Object

Defines the API that wraps an `XMLReader` implementation class. In JAXP 1.0, this class wrapped the `Parser` interface, however this interface was replaced by the `XMLReader`. For ease of transition, this class continues to support the same name and interface as well as supporting new methods. An instance of this class can be obtained from the `SAXParserFactory.newSAXParser()` method. Once an instance of this class is obtained, XML can be parsed from a variety of input sources. These input sources are InputStreams, Files, URLs, and SAX InputSources.

As the content is parsed by the underlying parser, methods of the given `HandlerBase` or the `DefaultHandler` are called.

Implementors of this class which wrap an underlying implementation can consider using the `ParserAdapter` class to initially adapt their SAX1 impelemntation to work under this revised class.

An implementation of `SAXParser` is NOT guaranteed to behave as per the specification if it is used concurrently by two or more threads. It is recommended to have one instance of the `SAXParser` per thread or it is upto the application to make sure about the use of `SAXParser` from more than one thread.

Since:
  JAXP 1.0
Version:
  1.0

Constructor Summary
`protected` `SAXParser()`

Method Summary
`abstract Parser` `getParser()` Returns the SAX parser that is encapsultated by the implementation of this class.
`abstract java.lang.Object` `getProperty(java.lang.String name)` Returns the particular property requested for in the underlying implementation of `XMLReader`.
`abstract XMLReader` `getXMLReader()` Returns the `XMLReader` that is encapsulated by the implementation of this class.
`abstract boolean` `isNamespaceAware()` Indicates whether or not this parser is configured to understand namespaces.
`abstract boolean` `isValidating()` Indicates whether or not this parser is configured to validate XML documents.
`void` `parse(java.io.File f, DefaultHandler dh)` Parse the content of the file specified as XML using the specified `DefaultHandler`.
`void` `parse(java.io.File f, HandlerBase hb)` Parse the content of the file specified as XML using the specified `HandlerBase`.
`void` `parse(InputSource is, DefaultHandler dh)` Parse the content given `InputSource` as XML using the specified `DefaultHandler`.
`void` `parse(InputSource is, HandlerBase hb)` Parse the content given `InputSource` as XML using the specified `HandlerBase`.
`void` `parse(java.io.InputStream is, DefaultHandler dh)` Parse the content of the given `InputStream` instance as XML using the specified `DefaultHandler`.
`void` `parse(java.io.InputStream is, DefaultHandler dh, java.lang.String systemId)` Parse the content of the given `InputStream` instance as XML using the specified `DefaultHandler`.
`void` `parse(java.io.InputStream is, HandlerBase hb)` Parse the content of the given `InputStream` instance as XML using the specified `HandlerBase`.
`void` `parse(java.io.InputStream is, HandlerBase hb, java.lang.String systemId)` Parse the content of the given `InputStream` instance as XML using the specified `HandlerBase`.
`void` `parse(java.lang.String uri, DefaultHandler dh)` Parse the content described by the giving Uniform Resource Identifier (URI) as XML using the specified `DefaultHandler`.
`void` `parse(java.lang.String uri, HandlerBase hb)` Parse the content described by the giving Uniform Resource Identifier (URI) as XML using the specified `HandlerBase`.
`abstract void` `setProperty(java.lang.String name, java.lang.Object value)` Sets the particular property in the underlying implementation of `XMLReader`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SAXParser

    protected SAXParser()

Method Detail

### parse

    public void parse(java.io.InputStream is,
                      HandlerBase hb)
               throws SAXException,
                      java.io.IOException

  Parse the content of the given `InputStream` instance as XML using the specified `HandlerBase`. Use of the DefaultHandler version of this method is recommended as the HandlerBase class has been deprecated in SAX 2.0
  Parameters:
    `is` - InputStream containing the content to be parsed.
    `hb` - The SAX HandlerBase to use.
  Throws:
    `java.io.IOException` - If any IO errors occur.
    `java.lang.IllegalArgumentException` - If the given InputStream is null.
    `SAXException` - If the underlying parser throws a SAXException while parsing.
  See Also:
    `DocumentHandler`

### parse

    public void parse(java.io.InputStream is,
                      HandlerBase hb,
                      java.lang.String systemId)
               throws SAXException,
                      java.io.IOException

  Parse the content of the given `InputStream` instance as XML using the specified `HandlerBase`. Use of the DefaultHandler version of this method is recommended as the HandlerBase class has been deprecated in SAX 2.0
  Parameters:
    `is` - InputStream containing the content to be parsed.
    `hb` - The SAX HandlerBase to use.
    `systemId` - The systemId which is needed for resolving relative URIs.
  Throws:
    `java.io.IOException` - If any IO errors occur.
    `java.lang.IllegalArgumentException` - If the given InputStream is null.
    `SAXException` - If the underlying parser throws a SAXException while parsing.
  See Also:
    `version of this method instead.`

### parse

    public void parse(java.io.InputStream is,
                      DefaultHandler dh)
               throws SAXException,
                      java.io.IOException

  Parse the content of the given `InputStream` instance as XML using the specified `DefaultHandler`.
  Parameters:
    `is` - InputStream containing the content to be parsed.
    `dh` - The SAX DefaultHandler to use.
  Throws:
    `java.io.IOException` - If any IO errors occur.
    `java.lang.IllegalArgumentException` - If the given InputStream is null.
    `SAXException` - If the underlying parser throws a SAXException while parsing.
  See Also:
    `DocumentHandler`

### parse

    public void parse(java.io.InputStream is,
                      DefaultHandler dh,
                      java.lang.String systemId)
               throws SAXException,
                      java.io.IOException

  Parse the content of the given `InputStream` instance as XML using the specified `DefaultHandler`.
  Parameters:
    `is` - InputStream containing the content to be parsed.
    `dh` - The SAX DefaultHandler to use.
    `systemId` - The systemId which is needed for resolving relative URIs.
  Throws:
    `java.io.IOException` - If any IO errors occur.
    `java.lang.IllegalArgumentException` - If the given InputStream is null.
    `SAXException` - If the underlying parser throws a SAXException while parsing.
  See Also:
    `version of this method instead.`

### parse

    public void parse(java.lang.String uri,
                      HandlerBase hb)
               throws SAXException,
                      java.io.IOException

  Parse the content described by the giving Uniform Resource Identifier (URI) as XML using the specified `HandlerBase`. Use of the DefaultHandler version of this method is recommended as the `HandlerBase` class has been deprecated in SAX 2.0
  Parameters:
    `uri` - The location of the content to be parsed.
    `hb` - The SAX HandlerBase to use.
  Throws:
    `java.io.IOException` - If any IO errors occur.
    `java.lang.IllegalArgumentException` - If the uri is null.
    `SAXException` - If the underlying parser throws a SAXException while parsing.
  See Also:
    `DocumentHandler`

### parse

    public void parse(java.lang.String uri,
                      DefaultHandler dh)
               throws SAXException,
                      java.io.IOException

  Parse the content described by the giving Uniform Resource Identifier (URI) as XML using the specified `DefaultHandler`.
  Parameters:
    `uri` - The location of the content to be parsed.
    `dh` - The SAX DefaultHandler to use.
  Throws:
    `java.io.IOException` - If any IO errors occur.
    `java.lang.IllegalArgumentException` - If the uri is null.
    `SAXException` - If the underlying parser throws a SAXException while parsing.
  See Also:
    `DocumentHandler`

### parse

    public void parse(java.io.File f,
                      HandlerBase hb)
               throws SAXException,
                      java.io.IOException

  Parse the content of the file specified as XML using the specified `HandlerBase`. Use of the DefaultHandler version of this method is recommended as the HandlerBase class has been deprecated in SAX 2.0
  Parameters:
    `f` - The file containing the XML to parse
    `hb` - The SAX HandlerBase to use.
  Throws:
    `java.io.IOException` - If any IO errors occur.
    `java.lang.IllegalArgumentException` - If the File object is null.
    `SAXException` - If the underlying parser throws a SAXException while parsing.
  See Also:
    `DocumentHandler`

### parse

    public void parse(java.io.File f,
                      DefaultHandler dh)
               throws SAXException,
                      java.io.IOException

  Parse the content of the file specified as XML using the specified `DefaultHandler`.
  Parameters:
    `f` - The file containing the XML to parse
    `dh` - The SAX DefaultHandler to use.
  Throws:
    `java.io.IOException` - If any IO errors occur.
    `java.lang.IllegalArgumentException` - If the File object is null.
    `SAXException` - If the underlying parser throws a SAXException while parsing.
  See Also:
    `DocumentHandler`

### parse

    public void parse(InputSource is,
                      HandlerBase hb)
               throws SAXException,
                      java.io.IOException

  Parse the content given `InputSource` as XML using the specified `HandlerBase`. Use of the DefaultHandler version of this method is recommended as the HandlerBase class has been deprecated in SAX 2.0
  Parameters:
    `is` - The InputSource containing the content to be parsed.
    `hb` - The SAX HandlerBase to use.
  Throws:
    `java.io.IOException` - If any IO errors occur.
    `java.lang.IllegalArgumentException` - If the InputSource is null.
    `SAXException` - If the underlying parser throws a SAXException while parsing.
  See Also:
    `DocumentHandler`

### parse

    public void parse(InputSource is,
                      DefaultHandler dh)
               throws SAXException,
                      java.io.IOException

  Parse the content given `InputSource` as XML using the specified `DefaultHandler`.
  Parameters:
    `is` - The InputSource containing the content to be parsed.
    `dh` - The SAX DefaultHandler to use.
  Throws:
    `java.io.IOException` - If any IO errors occur.
    `java.lang.IllegalArgumentException` - If the InputSource is null.
    `SAXException` - If the underlying parser throws a SAXException while parsing.
  See Also:
    `DocumentHandler`

### getParser

    public abstract Parser getParser()
                              throws SAXException

  Returns the SAX parser that is encapsultated by the implementation of this class.
  Returns:
    The SAX parser that is encapsultated by the implementation of this class.

### getXMLReader

    public abstract XMLReader getXMLReader()
                                    throws SAXException

  Returns the `XMLReader` that is encapsulated by the implementation of this class.
  Returns:
    The XMLReader that is encapsulated by the implementation of this class.

### isNamespaceAware

    public abstract boolean isNamespaceAware()

  Indicates whether or not this parser is configured to understand namespaces.
  Returns:
    true if this parser is configured to understand namespaces; false otherwise.

### isValidating

    public abstract boolean isValidating()

  Indicates whether or not this parser is configured to validate XML documents.
  Returns:
    true if this parser is configured to validate XML documents; false otherwise.

### setProperty

    public abstract void setProperty(java.lang.String name,
                                     java.lang.Object value)
                              throws SAXNotRecognizedException,
                                     SAXNotSupportedException

  Sets the particular property in the underlying implementation of `XMLReader`. A list of the core features and properties can be found at http://www.megginson.com/SAX/Java/features.html
  Parameters:
    `name` - The name of the property to be set.
    `value` - The value of the property to be set.
  Throws:
    `SAXNotRecognizedException` - When the underlying XMLReader does not recognize the property name.
    `SAXNotSupportedException` - When the underlying XMLReader recognizes the property name but doesn't support the property.
  See Also:
    `XMLReader.setProperty(java.lang.String, java.lang.Object)`

### getProperty

    public abstract java.lang.Object getProperty(java.lang.String name)
                                          throws SAXNotRecognizedException,
                                                 SAXNotSupportedException

  Returns the particular property requested for in the underlying implementation of `XMLReader`.
  Parameters:
    `name` - The name of the property to be retrieved.
  Returns:
    Value of the requested property.
  Throws:
    `SAXNotRecognizedException` - When the underlying XMLReader does not recognize the property name.
    `SAXNotSupportedException` - When the underlying XMLReader recognizes the property name but doesn't support the property.
  See Also:
    `XMLReader.getProperty(java.lang.String)`

Copyright © 1999-2003 Apache XML Project. All Rights Reserved.