org.apache.xml.resolver.tools
public class ResolvingXMLFilter extends XMLFilterImpl
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.
Version: 1.0
See Also: CatalogResolver org.xml.sax.XMLFilter
Field Summary | |
---|---|
static boolean | suppressExplanation Suppress explanatory message?
|
Constructor Summary | |
---|---|
ResolvingXMLFilter() Construct an empty XML Filter with no parent | |
ResolvingXMLFilter(XMLReader parent) Construct an XML filter with the specified parent |
Method Summary | |
---|---|
Catalog | getCatalog() Provide accessto the underlying Catalog |
void | notationDecl(String name, String publicId, String systemId) SAX DTDHandler API
Captured here only to detect the end of the prolog so that we can ignore subsequent oasis-xml-catalog PIs. |
void | parse(InputSource input) SAX XMLReader API 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. |
void | parse(String systemId) SAX XMLReader API
|
void | processingInstruction(String target, String pidata) SAX ContentHandler API
Detect and use the oasis-xml-catalog PI if it occurs. |
InputSource | resolveEntity(String publicId, String systemId) Implements the |
void | startElement(String uri, String localName, String qName, Attributes atts) SAX ContentHandler API
Captured here only to detect the end of the prolog so that we can ignore subsequent oasis-xml-catalog PIs. |
void | unparsedEntityDecl(String name, String publicId, String systemId, String notationName) SAX DTDHandler API
Captured here only to detect the end of the prolog so that we can ignore subsequent oasis-xml-catalog PIs. |
See Also: parse
Provide accessto the underlying Catalog
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.
SAX XMLReader API
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.
See Also: parse
Detect and use the oasis-xml-catalog PI if it occurs.
Implements the resolveEntity
method
for the SAX interface, using an underlying CatalogResolver
to do the real work.
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.
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.