public class XMLFilterImpl extends Object implements XMLFilter, EntityResolver, DTDHandler, ContentHandler, ErrorHandler
This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.
This class is designed to sit between an XMLReader
and the client application's event handlers. By default, it
does nothing but pass requests up to the reader and events
on to the handlers unmodified, but subclasses can override
specific methods to modify the event stream or the configuration
requests as they pass through.
XMLFilter
,
XMLReader
,
EntityResolver
,
DTDHandler
,
ContentHandler
,
ErrorHandler
Constructor and Description |
---|
XMLFilterImpl()
Construct an empty XML filter, with no parent.
|
XMLFilterImpl(XMLReader parent)
Construct an XML filter with the specified parent.
|
Modifier and Type | Method and Description |
---|---|
void |
characters(char[] ch,
int start,
int length)
Filter a character data event.
|
void |
endDocument()
Filter an end document event.
|
void |
endElement(String uri,
String localName,
String qName)
Filter an end element event.
|
void |
endPrefixMapping(String prefix)
Filter an end Namespace prefix mapping event.
|
void |
error(SAXParseException e)
Filter an error event.
|
void |
fatalError(SAXParseException e)
Filter a fatal error event.
|
ContentHandler |
getContentHandler()
Get the content event handler.
|
DTDHandler |
getDTDHandler()
Get the current DTD event handler.
|
EntityResolver |
getEntityResolver()
Get the current entity resolver.
|
ErrorHandler |
getErrorHandler()
Get the current error event handler.
|
boolean |
getFeature(String name)
Look up the value of a feature.
|
XMLReader |
getParent()
Get the parent reader.
|
Object |
getProperty(String name)
Look up the value of a property.
|
void |
ignorableWhitespace(char[] ch,
int start,
int length)
Filter an ignorable whitespace event.
|
void |
notationDecl(String name,
String publicId,
String systemId)
Filter a notation declaration event.
|
void |
parse(InputSource input)
Parse a document.
|
void |
parse(String systemId)
Parse a document.
|
void |
processingInstruction(String target,
String data)
Filter a processing instruction event.
|
InputSource |
resolveEntity(String publicId,
String systemId)
Filter an external entity resolution.
|
void |
setContentHandler(ContentHandler handler)
Set the content event handler.
|
void |
setDocumentLocator(Locator locator)
Filter a new document locator event.
|
void |
setDTDHandler(DTDHandler handler)
Set the DTD event handler.
|
void |
setEntityResolver(EntityResolver resolver)
Set the entity resolver.
|
void |
setErrorHandler(ErrorHandler handler)
Set the error event handler.
|
void |
setFeature(String name,
boolean value)
Set the value of a feature.
|
void |
setParent(XMLReader parent)
Set the parent reader.
|
void |
setProperty(String name,
Object value)
Set the value of a property.
|
void |
skippedEntity(String name)
Filter a skipped entity event.
|
void |
startDocument()
Filter a start document event.
|
void |
startElement(String uri,
String localName,
String qName,
Attributes atts)
Filter a start element event.
|
void |
startPrefixMapping(String prefix,
String uri)
Filter a start Namespace prefix mapping event.
|
void |
unparsedEntityDecl(String name,
String publicId,
String systemId,
String notationName)
Filter an unparsed entity declaration event.
|
void |
warning(SAXParseException e)
Filter a warning event.
|
public XMLFilterImpl()
This filter will have no parent: you must assign a parent
before you start a parse or do any configuration with
setFeature or setProperty, unless you use this as a pure event
consumer rather than as an XMLReader
.
public XMLFilterImpl(XMLReader parent)
setParent(org.xml.sax.XMLReader)
,
getParent()
public void setParent(XMLReader parent)
This is the XMLReader
from which
this filter will obtain its events and to which it will pass its
configuration requests. The parent may itself be another filter.
If there is no parent reader set, any attempt to parse or to set or get a feature or property will fail.
setParent
in interface XMLFilter
parent
- The parent XML reader.getParent()
public XMLReader getParent()
getParent
in interface XMLFilter
setParent(org.xml.sax.XMLReader)
public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException
This will always fail if the parent is null.
setFeature
in interface XMLReader
name
- The feature name.value
- The requested feature value.SAXNotRecognizedException
- If the feature
value can't be assigned or retrieved from the parent.SAXNotSupportedException
- When the
parent recognizes the feature name but
cannot set the requested value.XMLReader.getFeature(java.lang.String)
public boolean getFeature(String name) throws SAXNotRecognizedException, SAXNotSupportedException
This will always fail if the parent is null.
getFeature
in interface XMLReader
name
- The feature name.SAXNotRecognizedException
- If the feature
value can't be assigned or retrieved from the parent.SAXNotSupportedException
- When the
parent recognizes the feature name but
cannot determine its value at this time.XMLReader.setFeature(java.lang.String, boolean)
public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException
This will always fail if the parent is null.
setProperty
in interface XMLReader
name
- The property name.value
- The requested property value.SAXNotRecognizedException
- If the property
value can't be assigned or retrieved from the parent.SAXNotSupportedException
- When the
parent recognizes the property name but
cannot set the requested value.public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
getProperty
in interface XMLReader
name
- The property name.SAXNotRecognizedException
- If the property
value can't be assigned or retrieved from the parent.SAXNotSupportedException
- When the
parent recognizes the property name but
cannot determine its value at this time.XMLReader.setProperty(java.lang.String, java.lang.Object)
public void setEntityResolver(EntityResolver resolver)
setEntityResolver
in interface XMLReader
resolver
- The new entity resolver.XMLReader.getEntityResolver()
public EntityResolver getEntityResolver()
getEntityResolver
in interface XMLReader
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
public void setDTDHandler(DTDHandler handler)
setDTDHandler
in interface XMLReader
handler
- the new DTD handlerXMLReader.getDTDHandler()
public DTDHandler getDTDHandler()
getDTDHandler
in interface XMLReader
XMLReader.setDTDHandler(org.xml.sax.DTDHandler)
public void setContentHandler(ContentHandler handler)
setContentHandler
in interface XMLReader
handler
- the new content handlerXMLReader.getContentHandler()
public ContentHandler getContentHandler()
getContentHandler
in interface XMLReader
XMLReader.setContentHandler(org.xml.sax.ContentHandler)
public void setErrorHandler(ErrorHandler handler)
setErrorHandler
in interface XMLReader
handler
- the new error handlerXMLReader.getErrorHandler()
public ErrorHandler getErrorHandler()
getErrorHandler
in interface XMLReader
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler)
public void parse(InputSource input) throws SAXException, IOException
parse
in interface XMLReader
input
- The input source for the document entity.SAXException
- Any SAX exception, possibly
wrapping another exception.IOException
- An IO exception from the parser,
possibly from a byte stream or character stream
supplied by the application.InputSource
,
XMLReader.parse(java.lang.String)
,
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
,
XMLReader.setDTDHandler(org.xml.sax.DTDHandler)
,
XMLReader.setContentHandler(org.xml.sax.ContentHandler)
,
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler)
public void parse(String systemId) throws SAXException, IOException
parse
in interface XMLReader
systemId
- The system identifier as a fully-qualified URI.SAXException
- Any SAX exception, possibly
wrapping another exception.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 InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
resolveEntity
in interface EntityResolver
publicId
- The entity's public identifier, or null.systemId
- The entity's system identifier.SAXException
- The client may throw
an exception during processing.IOException
- The client may throw an
I/O-related exception while obtaining the
new InputSource.InputSource
public void notationDecl(String name, String publicId, String systemId) throws SAXException
notationDecl
in interface DTDHandler
name
- The notation name.publicId
- The notation's public identifier, or null.systemId
- The notation's system identifier, or null.SAXException
- The client may throw
an exception during processing.DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
,
Attributes
public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException
unparsedEntityDecl
in interface DTDHandler
name
- The entity name.publicId
- The entity's public identifier, or null.systemId
- The entity's system identifier, or null.notationName
- The name of the associated notation.SAXException
- The client may throw
an exception during processing.DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String)
,
Attributes
public void setDocumentLocator(Locator locator)
setDocumentLocator
in interface ContentHandler
locator
- The document locator.Locator
public void startDocument() throws SAXException
startDocument
in interface ContentHandler
SAXException
- The client may throw
an exception during processing.ContentHandler.endDocument()
public void endDocument() throws SAXException
endDocument
in interface ContentHandler
SAXException
- The client may throw
an exception during processing.ContentHandler.startDocument()
public void startPrefixMapping(String prefix, String uri) throws SAXException
startPrefixMapping
in interface ContentHandler
prefix
- The Namespace prefix.uri
- The Namespace URI.SAXException
- The client may throw
an exception during processing.ContentHandler.endPrefixMapping(java.lang.String)
,
ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
public void endPrefixMapping(String prefix) throws SAXException
endPrefixMapping
in interface ContentHandler
prefix
- The Namespace prefix.SAXException
- The client may throw
an exception during processing.ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)
,
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException
startElement
in interface ContentHandler
uri
- The element's Namespace URI, or the empty string.localName
- The element's local name, or the empty string.qName
- The element's qualified (prefixed) name, or the empty
string.atts
- The element's attributes.SAXException
- The client may throw
an exception during processing.ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
,
Attributes
,
AttributesImpl
public void endElement(String uri, String localName, String qName) throws SAXException
endElement
in interface ContentHandler
uri
- The element's Namespace URI, or the empty string.localName
- The element's local name, or the empty string.qName
- The element's qualified (prefixed) name, or the empty
string.SAXException
- The client may throw
an exception during processing.public void characters(char[] ch, int start, int length) throws SAXException
characters
in interface ContentHandler
ch
- An array of characters.start
- The starting position in the array.length
- The number of characters to use from the array.SAXException
- The client may throw
an exception during processing.ContentHandler.ignorableWhitespace(char[], int, int)
,
Locator
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
ignorableWhitespace
in interface ContentHandler
ch
- An array of characters.start
- The starting position in the array.length
- The number of characters to use from the array.SAXException
- The client may throw
an exception during processing.ContentHandler.characters(char[], int, int)
public void processingInstruction(String target, String data) throws SAXException
processingInstruction
in interface ContentHandler
target
- The processing instruction target.data
- The text following the target.SAXException
- The client may throw
an exception during processing.public void skippedEntity(String name) throws SAXException
skippedEntity
in interface ContentHandler
name
- The name of the skipped entity.SAXException
- The client may throw
an exception during processing.public void warning(SAXParseException e) throws SAXException
warning
in interface ErrorHandler
e
- The warning as an exception.SAXException
- The client may throw
an exception during processing.SAXParseException
public void error(SAXParseException e) throws SAXException
error
in interface ErrorHandler
e
- The error as an exception.SAXException
- The client may throw
an exception during processing.SAXParseException
public void fatalError(SAXParseException e) throws SAXException
fatalError
in interface ErrorHandler
e
- The error as an exception.SAXException
- The client may throw
an exception during processing.SAXParseException
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2019, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.