org.apache.xml.resolver.tools
Class ResolvingXMLFilter
XMLFilterImpl
org.apache.xml.resolver.tools.ResolvingXMLFilter
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.
Catalog | getCatalog() - Provide accessto the underlying Catalog.
|
void | notationDecl(String name, String publicId, String systemId) - SAX DTDHandler API.
|
void | parse(InputSource input) - SAX XMLReader API.
|
void | parse(String systemId) - SAX XMLReader API.
|
void | processingInstruction(String target, String pidata) - SAX ContentHandler API.
|
InputSource | resolveEntity(String publicId, String systemId) - Implements the
resolveEntity method
for the SAX interface, using an underlying CatalogResolver
to do the real work.
|
void | startElement(String uri, String localName, String qName, Attributes atts) - SAX ContentHandler API.
|
void | unparsedEntityDecl(String name, String publicId, String systemId, String notationName) - SAX DTDHandler API.
|
suppressExplanation
public static boolean suppressExplanation
Suppress explanatory message?
ResolvingXMLFilter
public ResolvingXMLFilter()
Construct an empty XML Filter with no parent.
ResolvingXMLFilter
public ResolvingXMLFilter(XMLReader parent)
Construct an XML filter with the specified parent.
ResolvingXMLFilter
public ResolvingXMLFilter(XMLReader parent,
CatalogManager manager)
Construct an XML filter with the specified parent.
ResolvingXMLFilter
public ResolvingXMLFilter(CatalogManager manager)
Construct an XML filter with the specified parent.
getCatalog
public Catalog getCatalog()
Provide accessto the underlying Catalog.
notationDecl
public void notationDecl(String name,
String publicId,
String systemId)
throws SAXException
SAX DTDHandler API.
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.
parse
public void parse(InputSource input)
throws IOException,
SAXException
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.
parse
public void parse(String systemId)
throws IOException,
SAXException
SAX XMLReader API.
processingInstruction
public void processingInstruction(String target,
String pidata)
throws SAXException
SAX ContentHandler API.
Detect and use the oasis-xml-catalog PI if it occurs.
resolveEntity
public InputSource resolveEntity(String publicId,
String systemId)
Implements the resolveEntity
method
for the SAX interface, using an underlying CatalogResolver
to do the real work.
startElement
public void startElement(String uri,
String localName,
String qName,
Attributes atts)
throws SAXException
SAX ContentHandler API.
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
public void unparsedEntityDecl(String name,
String publicId,
String systemId,
String notationName)
throws SAXException
SAX DTDHandler API.
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.
Copyright B) 2001-2003 Apache Software Foundation. All Rights Reserved.