Overview | Package | Class | Use | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## gnu.xml.aelfred2
Class XmlReader

    java.lang.Object
      |
      +--gnu.xml.aelfred2.XmlReader

All Implemented Interfaces:
  XMLReader

public final class XmlReader
extends java.lang.Object
implements XMLReader

This SAX2 parser optionally layers a validator over the Ælfred2 SAX2 parser. While this will not evaluate every XML validity constraint, it does support all the validity constraints that are of any real utility outside the strict SGML-compatible world. See the documentation for the SAXDriver class for information about the SAX2 features and properties that are supported, and documentation for the ValidationConsumer for information about what validity constraints may not be supported. (Ælfred2 tests some of those, even in non-validating mode, to achieve better conformance.)

Note that due to its internal construction, you can't change most handlers until parse() returns. This diverges slightly from SAX, which expects later binding to be supported. Early binding involves less runtime overhead, which is an issue for event pipelines as used inside this parser. Rather than relying on the parser to handle late binding to your own handlers, do it yourself.

Version:
  $Date: 2001/11/09 22:55:43 $
Author:
  David Brownell
See Also:
  `SAXDriver`, `ValidationConsumer`

Constructor Summary
`XmlReader()` Constructs a SAX Parser.
`XmlReader(boolean invalidIsFatal)` Constructs a SAX Parser, optionally treating validity errors as if they were fatal errors.

Method Summary
`ContentHandler` | `getContentHandler()` SAX2: Returns the object used to report the logical content of an XML document.
`DTDHandler` | `getDTDHandler()` SAX2: Returns the object used to process declarations related to notations and unparsed entities.
`EntityResolver` | `getEntityResolver()` SAX2: Returns the object used when resolving external entities during parsing (both general and parameter entities).
`ErrorHandler` | `getErrorHandler()` SAX2: Returns the object used to receive callbacks for XML errors of all levels (fatal, nonfatal, warning); this is never null;
`boolean` | `getFeature(java.lang.String featureId)` SAX2: Tells whether this parser supports the specified feature.
`java.lang.Object` | `getProperty(java.lang.String propertyId)` SAX2: Returns the specified property.
`void` | `parse(InputSource source)` SAX1: Underlying API to parse an XML document, used directly when no URI is available.
`void` | `parse(java.lang.String systemId)` SAX1: Preferred API to parse an XML document, using a system identifier (URI).
`void` | `setContentHandler(ContentHandler handler)` SAX2: Assigns the object used to report the logical content of an XML document.
`void` | `setDTDHandler(DTDHandler handler)` SAX1 Assigns DTD handler
`void` | `setEntityResolver(EntityResolver handler)` SAX1 Assigns parser's entity resolver
`void` | `setErrorHandler(ErrorHandler handler)` SAX1 Assigns error handler
`void` | `setFeature(java.lang.String featureId, boolean state)` SAX2: Sets the state of features supported in this parser.
`void` | `setLocale(java.util.Locale locale)` SAX1: Sets the locale used for diagnostics; currently, only locales using the English language are supported.
`void` | `setProperty(java.lang.String propertyId, java.lang.Object value)` SAX2: Assigns the specified property.

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

Constructor Detail

### XmlReader

    public XmlReader()

  Constructs a SAX Parser.

### XmlReader

    public XmlReader(boolean invalidIsFatal)

  Constructs a SAX Parser, optionally treating validity errors as if they were fatal errors.

Method Detail

### getContentHandler

    public ContentHandler getContentHandler()

  SAX2: Returns the object used to report the logical content of an XML document.
  Specified by:
    `getContentHandler` in interface `XMLReader`
  Following copied from interface: `org.xml.sax.XMLReader`
  Returns:
    The current content handler, or null if none has been registered.
  See Also:
    `XMLReader.setContentHandler(org.xml.sax.ContentHandler)`

### setContentHandler

    public void setContentHandler(ContentHandler handler)

  SAX2: Assigns the object used to report the logical content of an XML document.
  Specified by:
    `setContentHandler` in interface `XMLReader`
  Throws:
    `IllegalStateException` - if called mid-parse

### getDTDHandler

    public DTDHandler getDTDHandler()

  SAX2: Returns the object used to process declarations related to notations and unparsed entities.
  Specified by:
    `getDTDHandler` in interface `XMLReader`
  Following copied from interface: `org.xml.sax.XMLReader`
  Returns:
    The current DTD handler, or null if none has been registered.
  See Also:
    `XMLReader.setDTDHandler(org.xml.sax.DTDHandler)`

### setDTDHandler

    public void setDTDHandler(DTDHandler handler)

  SAX1 Assigns DTD handler
  Specified by:
    `setDTDHandler` in interface `XMLReader`
  Throws:
    `IllegalStateException` - if called mid-parse

### getEntityResolver

    public EntityResolver getEntityResolver()

  SAX2: Returns the object used when resolving external entities during parsing (both general and parameter entities).
  Specified by:
    `getEntityResolver` in interface `XMLReader`
  Following copied from interface: `org.xml.sax.XMLReader`
  Returns:
    The current entity resolver, or null if none has been registered.
  See Also:
    `XMLReader.setEntityResolver(org.xml.sax.EntityResolver)`

### setEntityResolver

    public void setEntityResolver(EntityResolver handler)

  SAX1 Assigns parser's entity resolver
  Specified by:
    `setEntityResolver` in interface `XMLReader`
  Following copied from interface: `org.xml.sax.XMLReader`
  Parameters:
    `resolver` - The entity resolver.
  See Also:
    `XMLReader.getEntityResolver()`

### getErrorHandler

    public ErrorHandler getErrorHandler()

  SAX2: Returns the object used to receive callbacks for XML errors of all levels (fatal, nonfatal, warning); this is never null;
  Specified by:
    `getErrorHandler` in interface `XMLReader`
  Following copied from interface: `org.xml.sax.XMLReader`
  Returns:
    The current error handler, or null if none has been registered.
  See Also:
    `XMLReader.setErrorHandler(org.xml.sax.ErrorHandler)`

### setErrorHandler

    public void setErrorHandler(ErrorHandler handler)

  SAX1 Assigns error handler
  Specified by:
    `setErrorHandler` in interface `XMLReader`
  Throws:
    `IllegalStateException` - if called mid-parse

### setProperty

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

  SAX2: Assigns the specified property.
  Specified by:
    `setProperty` in interface `XMLReader`
  Throws:
    `IllegalStateException` - if called mid-parse

### getProperty

    public java.lang.Object getProperty(java.lang.String propertyId)
                                 throws SAXNotRecognizedException

  SAX2: Returns the specified property.
  Specified by:
    `getProperty` in interface `XMLReader`
  Following copied from interface: `org.xml.sax.XMLReader`
  Parameters:
    `name` - The property name, which is a fully-qualified URI.
  Returns:
    The current value of the property.
  Throws:
    `SAXNotRecognizedException` - If the property value can't be assigned or retrieved.
    `SAXNotSupportedException` - When the XMLReader recognizes the property name but cannot determine its value at this time.
  See Also:
    `XMLReader.setProperty(java.lang.String, java.lang.Object)`

### setFeature

    public void setFeature(java.lang.String featureId,
                           boolean state)
                    throws SAXNotRecognizedException,
                           SAXNotSupportedException

  SAX2: Sets the state of features supported in this parser. Note that this parser requires reporting of namespace prefixes when validating.
  Specified by:
    `setFeature` in interface `XMLReader`
  Following copied from interface: `org.xml.sax.XMLReader`
  Parameters:
    `name` - The feature name, which is a fully-qualified URI.
    `value` - The requested value of the feature (true or false).
  Throws:
    `SAXNotRecognizedException` - If the feature value can't be assigned or retrieved.
    `SAXNotSupportedException` - When the XMLReader recognizes the feature name but cannot set the requested value.
  See Also:
    `XMLReader.getFeature(java.lang.String)`

### getFeature

    public boolean getFeature(java.lang.String featureId)
                       throws SAXNotRecognizedException,
                              SAXNotSupportedException

  SAX2: Tells whether this parser supports the specified feature. At this time, this directly parallels the underlying SAXDriver, except that validation is optionally supported.
  Specified by:
    `getFeature` in interface `XMLReader`
  See Also:
    `SAXDriver`

### setLocale

    public void setLocale(java.util.Locale locale)
                   throws SAXException

  SAX1: Sets the locale used for diagnostics; currently, only locales using the English language are supported.
  Parameters:
    `locale` - The locale for which diagnostics will be generated

### parse

    public void parse(java.lang.String systemId)
               throws SAXException,
                      java.io.IOException

  SAX1: Preferred API to parse an XML document, using a system identifier (URI).
  Specified by:
    `parse` in interface `XMLReader`
  Following copied from interface: `org.xml.sax.XMLReader`
  Parameters:
    `systemId` - The system identifier (URI).
  Throws:
    `SAXException` - Any SAX exception, possibly wrapping another exception.
    `java.io.IOException` - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
  See Also:
    `XMLReader.parse(org.xml.sax.InputSource)`

### parse

    public void parse(InputSource source)
               throws SAXException,
                      java.io.IOException

  SAX1: Underlying API to parse an XML document, used directly when no URI is available. When this is invoked, and the parser is set to validate, some features will be automatically reset to appropriate values: for reporting namespace prefixes, and incorporating external entities.
  Specified by:
    `parse` in interface `XMLReader`
  Parameters:
    `source` - The XML input source.
  Throws:
    `IllegalStateException` - if called mid-parse
    `SAXException` - The handlers may throw any SAXException, and the parser normally throws SAXParseException objects.
    `java.io.IOException` - IOExceptions are normally through through the parser if there are problems reading the source document.

Overview | Package | Class | Use | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Source code is under GPL (with library exception) in the JAXP project at http://www.gnu.org/software/classpathx/jaxp
This documentation was derived from that source code on 2001-11-20.