|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.xml.sax.helpers.XMLFilterImpl org.apache.xml.resolver.tools.ResolvingXMLFilter
public class ResolvingXMLFilter
A SAX XMLFilter that performs catalog-based entity resolution.
This class implements a SAX XMLFilter that performs entity resolution using the CatalogResolver. The actual, underlying parser is obtained from a SAXParserFactory.
CatalogResolver
,
XMLFilter
Field Summary | |
---|---|
static boolean |
suppressExplanation
Suppress explanatory message? |
Constructor Summary | |
---|---|
ResolvingXMLFilter()
Construct an empty XML Filter with no parent. |
|
ResolvingXMLFilter(CatalogManager manager)
Construct an XML filter with the specified parent. |
|
ResolvingXMLFilter(XMLReader parent)
Construct an XML filter with the specified parent. |
|
ResolvingXMLFilter(XMLReader parent,
CatalogManager manager)
Construct an XML filter with the specified parent. |
Method Summary | |
---|---|
Catalog |
getCatalog()
Provide accessto the underlying Catalog. |
void |
notationDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId)
SAX DTDHandler API. |
void |
parse(InputSource input)
SAX XMLReader API. |
void |
parse(java.lang.String systemId)
SAX XMLReader API. |
void |
processingInstruction(java.lang.String target,
java.lang.String pidata)
SAX ContentHandler API. |
InputSource |
resolveEntity(java.lang.String publicId,
java.lang.String systemId)
Implements the resolveEntity method
for the SAX interface, using an underlying CatalogResolver
to do the real work. |
void |
startElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName,
Attributes atts)
SAX ContentHandler API. |
void |
unparsedEntityDecl(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId,
java.lang.String notationName)
SAX DTDHandler API. |
Methods inherited from class org.xml.sax.helpers.XMLFilterImpl |
---|
characters, endDocument, endElement, endPrefixMapping, error, fatalError, getContentHandler, getDTDHandler, getEntityResolver, getErrorHandler, getFeature, getParent, getProperty, ignorableWhitespace, setContentHandler, setDocumentLocator, setDTDHandler, setEntityResolver, setErrorHandler, setFeature, setParent, setProperty, skippedEntity, startDocument, startPrefixMapping, warning |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static boolean suppressExplanation
parse(InputSource)
Constructor Detail |
---|
public ResolvingXMLFilter()
public ResolvingXMLFilter(XMLReader parent)
public ResolvingXMLFilter(CatalogManager manager)
public ResolvingXMLFilter(XMLReader parent, CatalogManager manager)
Method Detail |
---|
public Catalog getCatalog()
public void parse(InputSource input) throws java.io.IOException, SAXException
Note that the JAXP 1.1ea2 parser crashes with an InternalError if it encounters a system identifier that appears to be a relative URI that begins with a slash. For example, the declaration:
<!DOCTYPE book SYSTEM "/path/to/dtd/on/my/system/docbookx.dtd">
would cause such an error. As a convenience, this method catches that error and prints an explanation. (Unfortunately, it's not possible to identify the particular system identifier that causes the problem.)
The underlying error is forwarded after printing the explanatory
message. The message is only every printed once and if
suppressExplanation
is set to false
before
parsing, it will never be printed.
parse
in interface XMLReader
parse
in class XMLFilterImpl
input
- The input source for the document entity.
java.io.IOException
- An IO exception from the parser,
possibly from a byte stream or character stream
supplied by the application.
SAXException
- Any SAX exception, possibly
wrapping another exception.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(java.lang.String systemId) throws java.io.IOException, SAXException
parse
in interface XMLReader
parse
in class XMLFilterImpl
systemId
- The system identifier as a fully-qualified URI.
java.io.IOException
- An IO exception from the parser,
possibly from a byte stream or character stream
supplied by the application.
SAXException
- Any SAX exception, possibly
wrapping another exception.parse(InputSource)
public InputSource resolveEntity(java.lang.String publicId, java.lang.String systemId)
resolveEntity
method
for the SAX interface, using an underlying CatalogResolver
to do the real work.
resolveEntity
in interface EntityResolver
resolveEntity
in class XMLFilterImpl
publicId
- The entity's public identifier, or null.systemId
- The entity's system identifier.
InputSource
public void notationDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId) throws SAXException
Captured here only to detect the end of the prolog so that we can ignore subsequent oasis-xml-catalog PIs. Otherwise the events are just passed through.
notationDecl
in interface DTDHandler
notationDecl
in class XMLFilterImpl
name
- The notation name.publicId
- The notation's public identifier, or null.systemId
- The notation's system identifier, or null.
SAXException
- Any SAX exception, possibly
wrapping another exception.DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
,
Attributes
public void unparsedEntityDecl(java.lang.String name, java.lang.String publicId, java.lang.String systemId, java.lang.String notationName) throws SAXException
Captured here only to detect the end of the prolog so that we can ignore subsequent oasis-xml-catalog PIs. Otherwise the events are just passed through.
unparsedEntityDecl
in interface DTDHandler
unparsedEntityDecl
in class XMLFilterImpl
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
- Any SAX exception, possibly
wrapping another exception.DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String)
,
Attributes
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, Attributes atts) throws SAXException
Captured here only to detect the end of the prolog so that we can ignore subsequent oasis-xml-catalog PIs. Otherwise the events are just passed through.
startElement
in interface ContentHandler
startElement
in class XMLFilterImpl
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
- any SAX exception, possibly
wrapping another exceptionContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
,
Attributes
,
AttributesImpl
public void processingInstruction(java.lang.String target, java.lang.String pidata) throws SAXException
Detect and use the oasis-xml-catalog PI if it occurs.
processingInstruction
in interface ContentHandler
processingInstruction
in class XMLFilterImpl
target
- The processing instruction target.pidata
- The text following the target.
SAXException
- any SAX exception, possibly
wrapping another exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |