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 anEntityResolveris 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 voidcharacters(char[] ch, int start, int length)Implementation of characters.voidendDocument()Implementation of endDocument.voidendElement(String namespaceURI, String localName, String qName)Implementation of endElement.voidendPrefixMapping(String prefix)voiderror(SAXParseException exception)Implementation of error.voidfatalError(SAXParseException exception)Implementation of fatalError.ObjectgetDocument()getDocument purpose.EntityResolvergetEntityResolver()protected voidinit(Map<String,Object> hints)InputSourceresolveEntity(String publicId, String systemId)Delegate toentityResolverif available.voidsetDocumentLocator(Locator locator)Stores the locator for future error reportingvoidsetEntityResolver(EntityResolver entityResolver)static voidsetLogLevel(Level l)Used to set the logger level for all XMLSAXHandlersvoidstartDocument()Implementation of startDocument.voidstartElement(String namespaceURI, String localName, String qName, Attributes atts)Implementation of startElement.voidstartPrefixMapping(String prefix, String uri)voidwarning(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 toentityResolverif available.Note this is an XMLSchema based parser, all attempts to resolved DTDs are rejected.
- Specified by:
resolveEntityin interfaceEntityResolver- Overrides:
resolveEntityin 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:
endDocumentin interfaceContentHandler- Overrides:
endDocumentin classDefaultHandler- See Also:
ContentHandler.endDocument()
-
startDocument
public void startDocument()
Implementation of startDocument.- Specified by:
startDocumentin interfaceContentHandler- Overrides:
startDocumentin classDefaultHandler- See Also:
ContentHandler.startDocument()
-
characters
public void characters(char[] ch, int start, int length) throws SAXExceptionImplementation of characters.- Specified by:
charactersin interfaceContentHandler- Overrides:
charactersin 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:
endElementin interfaceContentHandler- Overrides:
endElementin 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:
startElementin interfaceContentHandler- Overrides:
startElementin 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:
errorin interfaceErrorHandler- Overrides:
errorin classDefaultHandler- See Also:
ErrorHandler.error(org.xml.sax.SAXParseException)
-
fatalError
public void fatalError(SAXParseException exception) throws SAXException
Implementation of fatalError.- Specified by:
fatalErrorin interfaceErrorHandler- Overrides:
fatalErrorin classDefaultHandler- Throws:
SAXException- See Also:
ErrorHandler.fatalError(org.xml.sax.SAXParseException)
-
warning
public void warning(SAXParseException exception)
Implementation of warning.- Specified by:
warningin interfaceErrorHandler- Overrides:
warningin classDefaultHandler- See Also:
ErrorHandler.warning(org.xml.sax.SAXParseException)
-
setDocumentLocator
public void setDocumentLocator(Locator locator)
Stores the locator for future error reporting- Specified by:
setDocumentLocatorin interfaceContentHandler- Overrides:
setDocumentLocatorin classDefaultHandler- See Also:
ContentHandler.setDocumentLocator(org.xml.sax.Locator)
-
endPrefixMapping
public void endPrefixMapping(String prefix)
- Specified by:
endPrefixMappingin interfaceContentHandler- Overrides:
endPrefixMappingin classDefaultHandler- See Also:
ContentHandler.endPrefixMapping(java.lang.String)
-
startPrefixMapping
public void startPrefixMapping(String prefix, String uri)
- Specified by:
startPrefixMappingin interfaceContentHandler- Overrides:
startPrefixMappingin classDefaultHandler- See Also:
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)
-
-