Class XMLSAXHandler
- Object
-
- DefaultHandler
-
- XMLSAXHandler
-
- All Implemented Interfaces:
ContentHandler
,DTDHandler
,EntityResolver
,ErrorHandler
public class XMLSAXHandler extends DefaultHandler
This is a schema content handler. Code here has been modified from code written by Ian Schneider.This class contains one stack used to store part of the parse tree. The ElementHandlers found on the stack have direct next handlers placed on the stack. So here's the warning, be careful to read how you may be affecting (or forgetting to affect) the stack.
If a FlowHandler implementation is available in the hints, the handler will periodically check it to see if it should stop parsing. See the FlowHandler interface.
This is an XML Schema driven parser and
resolveEntity(String, String)
will ignore all dtd references. If anEntityResolver
is provided it will be used.- Author:
- dzwiers, Refractions Research, Inc. http://www.refractions.net
- See Also:
XMLElementHandler
-
-
Constructor Summary
Constructors Constructor Description XMLSAXHandler(URI intendedDocument, Map<String,Object> hints)
This contructor is intended to create an XMLSAXHandler to be used when parsing an XML instance document.XMLSAXHandler(Map<String,Object> hints)
This contructor is intended to create an XMLSAXHandler to be used when parsing an XML instance document.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
characters(char[] ch, int start, int length)
Implementation of characters.void
endDocument()
Implementation of endDocument.void
endElement(String namespaceURI, String localName, String qName)
Implementation of endElement.void
endPrefixMapping(String prefix)
void
error(SAXParseException exception)
Implementation of error.void
fatalError(SAXParseException exception)
Implementation of fatalError.Object
getDocument()
getDocument purpose.EntityResolver
getEntityResolver()
protected void
init(Map<String,Object> hints)
InputSource
resolveEntity(String publicId, String systemId)
Delegate toentityResolver
if available.void
setDocumentLocator(Locator locator)
Stores the locator for future error reportingvoid
setEntityResolver(EntityResolver entityResolver)
static void
setLogLevel(Level l)
Used to set the logger level for all XMLSAXHandlersvoid
startDocument()
Implementation of startDocument.void
startElement(String namespaceURI, String localName, String qName, Attributes atts)
Implementation of startElement.void
startPrefixMapping(String prefix, String uri)
void
warning(SAXParseException exception)
Implementation of warning.-
Methods inherited from class DefaultHandler
ignorableWhitespace, notationDecl, processingInstruction, skippedEntity, unparsedEntityDecl
-
-
-
-
Constructor Detail
-
XMLSAXHandler
public XMLSAXHandler(URI intendedDocument, Map<String,Object> hints)
This contructor is intended to create an XMLSAXHandler to be used when parsing an XML instance document. The instance document's uri is also be provided, as this will allow the parser to resolve relative uri's.
-
XMLSAXHandler
public XMLSAXHandler(Map<String,Object> hints)
This contructor is intended to create an XMLSAXHandler to be used when parsing an XML instance document. The instance document's uri is also be provided, as this will allow the parser to resolve relative uri's.
- Parameters:
hints
- Hints as per {@link {@link XMLHandlerHints}
-
-
Method Detail
-
setEntityResolver
public void setEntityResolver(EntityResolver entityResolver)
-
getEntityResolver
public EntityResolver getEntityResolver()
-
resolveEntity
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
Delegate toentityResolver
if available.Note this is an XMLSchema based parser, all attempts to resolved DTDs are rejected.
- Specified by:
resolveEntity
in interfaceEntityResolver
- Overrides:
resolveEntity
in classDefaultHandler
- Parameters:
publicId
- The public identifier, or null if none is available.systemId
- The system identifier provided in the XML document.- Returns:
- The new input source, or null to require the default behavior.
- Throws:
IOException
- If there is an error setting up the new input source.SAXException
- Any SAX exception, possibly wrapping another exception.
-
endDocument
public void endDocument()
Implementation of endDocument.- Specified by:
endDocument
in interfaceContentHandler
- Overrides:
endDocument
in classDefaultHandler
- See Also:
ContentHandler.endDocument()
-
startDocument
public void startDocument()
Implementation of startDocument.- Specified by:
startDocument
in interfaceContentHandler
- Overrides:
startDocument
in classDefaultHandler
- See Also:
ContentHandler.startDocument()
-
characters
public void characters(char[] ch, int start, int length) throws SAXException
Implementation of characters.- Specified by:
characters
in interfaceContentHandler
- Overrides:
characters
in classDefaultHandler
- Throws:
SAXException
- See Also:
ContentHandler.characters(char[], int, int)
-
endElement
public void endElement(String namespaceURI, String localName, String qName) throws SAXException
Implementation of endElement.- Specified by:
endElement
in interfaceContentHandler
- Overrides:
endElement
in classDefaultHandler
- Throws:
SAXException
- See Also:
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
-
startElement
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException
Implementation of startElement.- Specified by:
startElement
in interfaceContentHandler
- Overrides:
startElement
in classDefaultHandler
- Throws:
SAXException
- See Also:
ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
-
setLogLevel
public static void setLogLevel(Level l)
Used to set the logger level for all XMLSAXHandlers
-
getDocument
public Object getDocument() throws SAXException
getDocument purpose.Completes the post-processing phase, and returns the value from the parse ...
- Returns:
- Object parsed
- Throws:
SAXException
- See Also:
DocumentHandler.getValue()
-
error
public void error(SAXParseException exception)
Implementation of error.- Specified by:
error
in interfaceErrorHandler
- Overrides:
error
in classDefaultHandler
- See Also:
ErrorHandler.error(org.xml.sax.SAXParseException)
-
fatalError
public void fatalError(SAXParseException exception) throws SAXException
Implementation of fatalError.- Specified by:
fatalError
in interfaceErrorHandler
- Overrides:
fatalError
in classDefaultHandler
- Throws:
SAXException
- See Also:
ErrorHandler.fatalError(org.xml.sax.SAXParseException)
-
warning
public void warning(SAXParseException exception)
Implementation of warning.- Specified by:
warning
in interfaceErrorHandler
- Overrides:
warning
in classDefaultHandler
- See Also:
ErrorHandler.warning(org.xml.sax.SAXParseException)
-
setDocumentLocator
public void setDocumentLocator(Locator locator)
Stores the locator for future error reporting- Specified by:
setDocumentLocator
in interfaceContentHandler
- Overrides:
setDocumentLocator
in classDefaultHandler
- See Also:
ContentHandler.setDocumentLocator(org.xml.sax.Locator)
-
endPrefixMapping
public void endPrefixMapping(String prefix)
- Specified by:
endPrefixMapping
in interfaceContentHandler
- Overrides:
endPrefixMapping
in classDefaultHandler
- See Also:
ContentHandler.endPrefixMapping(java.lang.String)
-
startPrefixMapping
public void startPrefixMapping(String prefix, String uri)
- Specified by:
startPrefixMapping
in interfaceContentHandler
- Overrides:
startPrefixMapping
in classDefaultHandler
- See Also:
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)
-
-