|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--gnu.xml.aelfred2.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.
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: Auxiliary API to parse an XML document, used mostly 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 |
public XmlReader()
public XmlReader(boolean invalidIsFatal)
Method Detail |
public ContentHandler getContentHandler()
getContentHandler
in interface XMLReader
org.xml.sax.XMLReader
XMLReader.setContentHandler(org.xml.sax.ContentHandler)
public void setContentHandler(ContentHandler handler)
setContentHandler
in interface XMLReader
IllegalStateException
- if called mid-parsepublic DTDHandler getDTDHandler()
getDTDHandler
in interface XMLReader
org.xml.sax.XMLReader
XMLReader.setDTDHandler(org.xml.sax.DTDHandler)
public void setDTDHandler(DTDHandler handler)
setDTDHandler
in interface XMLReader
IllegalStateException
- if called mid-parsepublic EntityResolver getEntityResolver()
getEntityResolver
in interface XMLReader
org.xml.sax.XMLReader
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
public void setEntityResolver(EntityResolver handler)
setEntityResolver
in interface XMLReader
org.xml.sax.XMLReader
resolver
- The entity resolver.java.lang.NullPointerException
- If the resolver
argument is null.XMLReader.getEntityResolver()
public ErrorHandler getErrorHandler()
getErrorHandler
in interface XMLReader
org.xml.sax.XMLReader
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler)
public void setErrorHandler(ErrorHandler handler)
setErrorHandler
in interface XMLReader
IllegalStateException
- if called mid-parsepublic void setProperty(java.lang.String propertyId, java.lang.Object value) throws SAXNotRecognizedException, SAXNotSupportedException
setProperty
in interface XMLReader
IllegalStateException
- if called mid-parsepublic java.lang.Object getProperty(java.lang.String propertyId) throws SAXNotRecognizedException
getProperty
in interface XMLReader
org.xml.sax.XMLReader
name
- The property name, which is a fully-qualified URI.SAXNotRecognizedException
- When the
XMLReader does not recognize the property name.SAXNotSupportedException
- When the
XMLReader recognizes the property name but
cannot determine its value at this time.XMLReader.setProperty(java.lang.String, java.lang.Object)
public void setFeature(java.lang.String featureId, boolean state) throws SAXNotRecognizedException, SAXNotSupportedException
setFeature
in interface XMLReader
org.xml.sax.XMLReader
name
- The feature name, which is a fully-qualified URI.state
- The requested state of the feature (true or false).SAXNotRecognizedException
- When the
XMLReader does not recognize the feature name.SAXNotSupportedException
- When the
XMLReader recognizes the feature name but
cannot set the requested value.XMLReader.getFeature(java.lang.String)
public boolean getFeature(java.lang.String featureId) throws SAXNotRecognizedException
getFeature
in interface XMLReader
SAXDriver
public void setLocale(java.util.Locale locale) throws SAXException
locale
- The locale for which diagnostics will be generatedpublic void parse(java.lang.String systemId) throws SAXException, java.io.IOException
parse
in interface XMLReader
org.xml.sax.XMLReader
systemId
- The system identifier (URI).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.XMLReader.parse(org.xml.sax.InputSource)
public void parse(InputSource source) throws SAXException, java.io.IOException
parse
in interface XMLReader
source
- The XML input source.IllegalStateException
- if called mid-parseSAXException
- 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.
|
Source code is GPL'd in the JAXP subproject at http://savannah.gnu.org/projects/classpathx |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |