Class AbstractSAXParser
- All Implemented Interfaces:
XMLDocumentHandler
,XMLReader
- Direct Known Subclasses:
SAXParser
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final class
protected static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AbstractSAXParser.AttributesProxy
protected ContentHandler
Content handler.protected DTDHandler
DTD handler.protected LexicalHandler
Lexical handler.protected boolean
Lexical handler parameter entities.protected NamespaceContext
Namespace contextprotected boolean
Namespace prefixes.protected boolean
Namespaces.protected boolean
Standalone document declaration.protected boolean
Use EntityResolver2.protected String
protected static final String
Property id: lexical handler.protected static final String
Feature identifier: namespaces.private static final String[]
Recognized features.private static final String[]
Recognized properties.Fields inherited from class org.htmlunit.cyberneko.xerces.parsers.XMLParser
ERROR_HANDLER, parserConfiguration_
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
characters
(XMLString text, Augmentations augs) Character content.void
comment
(XMLString text, Augmentations augs) A comment.void
doctypeDecl
(String rootElement, String publicId, String systemId, Augmentations augs) Notifies of the presence of the DOCTYPE line in the document.void
endCDATA
(Augmentations augs) The end of a CDATA section.void
endDocument
(Augmentations augs) The end of the document.void
endElement
(QName element, Augmentations augs) The end of an element.protected final void
Send endPrefixMapping eventsReturn the current content handler.Return the current DTD handler.Return the current entity resolver.Return the current error handler.boolean
getFeature
(String featureId) Query the state of a feature.protected LexicalHandler
getProperty
(String propertyId) Query the value of a property.void
Parses the input source specified by the given system identifier.void
parse
(InputSource inputSource) void
processingInstruction
(String target, XMLString data, Augmentations augs) A processing instruction.void
reset()
Reset all components before parsing.void
setContentHandler
(ContentHandler contentHandler) Allow an application to register a content event handler.void
setDTDHandler
(DTDHandler dtdHandler) Allow an application to register a DTD event handler.void
setEntityResolver
(EntityResolver resolver) void
setErrorHandler
(ErrorHandler errorHandler) Allow an application to register an error event handler.void
setFeature
(String featureId, boolean state) Set the state of any feature in a SAX2 parser.protected void
setLexicalHandler
(LexicalHandler handler) Set the lexical event handler.void
setProperty
(String propertyId, Object value) Set the value of any property in a SAX2 parser.void
startCDATA
(Augmentations augs) The start of a CDATA section.void
startDocument
(XMLLocator locator, String encoding, NamespaceContext namespaceContext, Augmentations augs) The start of the document.void
startElement
(QName element, XMLAttributes attributes, Augmentations augs) The start of an element.protected final void
Send startPrefixMapping eventsvoid
xmlDecl
(String version, String encoding, String standalone, Augmentations augs) Notifies of the presence of an XMLDecl line in the document.Methods inherited from class org.htmlunit.cyberneko.xerces.parsers.AbstractXMLDocumentParser
emptyElement, getDocumentSource, setDocumentSource
-
Field Details
-
NAMESPACES
Feature identifier: namespaces.- See Also:
-
RECOGNIZED_FEATURES
Recognized features. -
LEXICAL_HANDLER
Property id: lexical handler.- See Also:
-
RECOGNIZED_PROPERTIES
Recognized properties. -
fNamespaces
protected boolean fNamespacesNamespaces. -
fNamespacePrefixes
protected boolean fNamespacePrefixesNamespace prefixes. -
fLexicalHandlerParameterEntities
protected boolean fLexicalHandlerParameterEntitiesLexical handler parameter entities. -
fStandalone
protected boolean fStandaloneStandalone document declaration. -
fUseEntityResolver2
protected boolean fUseEntityResolver2Use EntityResolver2. -
fContentHandler
Content handler. -
fNamespaceContext
Namespace context -
fDTDHandler
DTD handler. -
fLexicalHandler
Lexical handler. -
fVersion
-
fAttributesProxy
-
-
Constructor Details
-
AbstractSAXParser
-
-
Method Details
-
startDocument
public void startDocument(XMLLocator locator, String encoding, NamespaceContext namespaceContext, Augmentations augs) throws XNIException The start of the document.- Specified by:
startDocument
in interfaceXMLDocumentHandler
- Overrides:
startDocument
in classAbstractXMLDocumentParser
- Parameters:
locator
- The document locator, or null if the document location cannot be reported during the parsing of this document. However, it is strongly recommended that a locator be supplied that can at least report the system identifier of the document.encoding
- The auto-detected IANA encoding name of the entity stream. This value will be null in those situations where the entity encoding is not auto-detected (e.g. internal entities or a document entity that is parsed from a java.io.Reader).namespaceContext
- The namespace context in effect at the start of this document. This object represents the current context. Implementors of this class are responsible for copying the namespace bindings from the the current context (and its parent contexts) if that information is important.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
xmlDecl
public void xmlDecl(String version, String encoding, String standalone, Augmentations augs) throws XNIException Notifies of the presence of an XMLDecl line in the document. If present, this method will be called immediately following the startDocument call.- Specified by:
xmlDecl
in interfaceXMLDocumentHandler
- Overrides:
xmlDecl
in classAbstractXMLDocumentParser
- Parameters:
version
- The XML version.encoding
- The IANA encoding name of the document, or null if not specified.standalone
- The standalone value, or null if not specified.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
doctypeDecl
public void doctypeDecl(String rootElement, String publicId, String systemId, Augmentations augs) throws XNIException Notifies of the presence of the DOCTYPE line in the document.- Specified by:
doctypeDecl
in interfaceXMLDocumentHandler
- Overrides:
doctypeDecl
in classAbstractXMLDocumentParser
- Parameters:
rootElement
- The name of the root element.publicId
- The public identifier if an external DTD or null if the external DTD is specified using SYSTEM.systemId
- The system identifier if an external DTD, null otherwise.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
startElement
public void startElement(QName element, XMLAttributes attributes, Augmentations augs) throws XNIException The start of an element. If the document specifies the start element by using an empty tag, then the startElement method will immediately be followed by the endElement method, with no intervening methods.- Specified by:
startElement
in interfaceXMLDocumentHandler
- Overrides:
startElement
in classAbstractXMLDocumentParser
- Parameters:
element
- The name of the element.attributes
- The element attributes.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
characters
Character content.- Specified by:
characters
in interfaceXMLDocumentHandler
- Overrides:
characters
in classAbstractXMLDocumentParser
- Parameters:
text
- The content.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
endElement
The end of an element.- Specified by:
endElement
in interfaceXMLDocumentHandler
- Overrides:
endElement
in classAbstractXMLDocumentParser
- Parameters:
element
- The name of the element.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
startCDATA
The start of a CDATA section.- Specified by:
startCDATA
in interfaceXMLDocumentHandler
- Overrides:
startCDATA
in classAbstractXMLDocumentParser
- Parameters:
augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
endCDATA
The end of a CDATA section.- Specified by:
endCDATA
in interfaceXMLDocumentHandler
- Overrides:
endCDATA
in classAbstractXMLDocumentParser
- Parameters:
augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
comment
A comment.- Specified by:
comment
in interfaceXMLDocumentHandler
- Overrides:
comment
in classAbstractXMLDocumentParser
- Parameters:
text
- The text in the comment.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by application to signal an error.
-
processingInstruction
public void processingInstruction(String target, XMLString data, Augmentations augs) throws XNIException A processing instruction. Processing instructions consist of a target name and, optionally, text data. The data is only meaningful to the application.Typically, a processing instruction's data will contain a series of pseudo-attributes. These pseudo-attributes follow the form of element attributes but are not parsed or presented to the application as anything other than text. The application is responsible for parsing the data.
- Specified by:
processingInstruction
in interfaceXMLDocumentHandler
- Overrides:
processingInstruction
in classAbstractXMLDocumentParser
- Parameters:
target
- The target.data
- The data or null if none specified.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
endDocument
The end of the document.- Specified by:
endDocument
in interfaceXMLDocumentHandler
- Overrides:
endDocument
in classAbstractXMLDocumentParser
- Parameters:
augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
parse
Parses the input source specified by the given system identifier.This method is equivalent to the following:
parse(new InputSource(systemId));
- Specified by:
parse
in interfaceXMLReader
- Parameters:
systemId
- The system identifier (URI).- Throws:
SAXException
- Throws exception on SAX error.IOException
- Throws exception on i/o error.
-
parse
- Specified by:
parse
in interfaceXMLReader
- Throws:
SAXException
IOException
-
setEntityResolver
- Specified by:
setEntityResolver
in interfaceXMLReader
-
getEntityResolver
Return the current entity resolver.- Specified by:
getEntityResolver
in interfaceXMLReader
- Returns:
- The current entity resolver, or null if none has been registered.
- See Also:
-
setErrorHandler
Allow an application to register an error event handler.If the application does not register an error handler, all error events reported by the SAX parser will be silently ignored; however, normal processing may not continue. It is highly recommended that all SAX applications implement an error handler to avoid unexpected bugs.
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
- Specified by:
setErrorHandler
in interfaceXMLReader
- Parameters:
errorHandler
- The error handler.- See Also:
-
getErrorHandler
Return the current error handler.- Specified by:
getErrorHandler
in interfaceXMLReader
- Returns:
- The current error handler, or null if none has been registered.
- See Also:
-
setDTDHandler
Allow an application to register a DTD event handler.If the application does not register a DTD handler, all DTD events reported by the SAX parser will be silently ignored.
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
- Specified by:
setDTDHandler
in interfaceXMLReader
- Parameters:
dtdHandler
- The DTD handler.- See Also:
-
setContentHandler
Allow an application to register a content event handler.If the application does not register a content handler, all content events reported by the SAX parser will be silently ignored.
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
- Specified by:
setContentHandler
in interfaceXMLReader
- Parameters:
contentHandler
- The content handler.- See Also:
-
getContentHandler
Return the current content handler.- Specified by:
getContentHandler
in interfaceXMLReader
- Returns:
- The current content handler, or null if none has been registered.
- See Also:
-
getDTDHandler
Return the current DTD handler.- Specified by:
getDTDHandler
in interfaceXMLReader
- Returns:
- The current DTD handler, or null if none has been registered.
- See Also:
-
setFeature
public void setFeature(String featureId, boolean state) throws SAXNotRecognizedException, SAXNotSupportedException Set the state of any feature in a SAX2 parser. The parser might not recognize the feature, and if it does recognize it, it might not be able to fulfill the request.- Specified by:
setFeature
in interfaceXMLReader
- Parameters:
featureId
- The unique identifier (URI) of the feature.state
- The requested state of the feature (true or false).- Throws:
SAXNotRecognizedException
- If the requested feature is not known.SAXNotSupportedException
- If the requested feature is known, but the requested state is not supported.
-
getFeature
public boolean getFeature(String featureId) throws SAXNotRecognizedException, SAXNotSupportedException Query the state of a feature.Query the current state of any feature in a SAX2 parser. The parser might not recognize the feature.
- Specified by:
getFeature
in interfaceXMLReader
- Parameters:
featureId
- The unique identifier (URI) of the feature being set.- Returns:
- The current state of the feature.
- Throws:
SAXNotRecognizedException
- If the requested feature is not known.SAXNotSupportedException
- If the requested feature is known but not supported.
-
setProperty
public void setProperty(String propertyId, Object value) throws SAXNotRecognizedException, SAXNotSupportedException Set the value of any property in a SAX2 parser. The parser might not recognize the property, and if it does recognize it, it might not support the requested value.- Specified by:
setProperty
in interfaceXMLReader
- Parameters:
propertyId
- The unique identifier (URI) of the property being set.value
- The value to which the property is being set.- Throws:
SAXNotRecognizedException
- If the requested property is not known.SAXNotSupportedException
- If the requested property is known, but the requested value is not supported.
-
getProperty
public Object getProperty(String propertyId) throws SAXNotRecognizedException, SAXNotSupportedException Query the value of a property.Return the current value of a property in a SAX2 parser. The parser might not recognize the property.
- Specified by:
getProperty
in interfaceXMLReader
- Parameters:
propertyId
- The unique identifier (URI) of the property being set.- Returns:
- The current value of the property.
- Throws:
SAXNotRecognizedException
- If the requested property is not known.SAXNotSupportedException
- If the requested property is known but not supported.
-
setLexicalHandler
Set the lexical event handler.This method is the equivalent to the property:
http://xml.org/sax/properties/lexical-handler
- Parameters:
handler
- lexical event handler- Throws:
SAXNotSupportedException
- on error- See Also:
-
getLexicalHandler
- Returns:
- the lexical handler.
- See Also:
-
startNamespaceMapping
Send startPrefixMapping events- Throws:
SAXException
- on error
-
endNamespaceMapping
Send endPrefixMapping events- Throws:
SAXException
- on error
-
reset
Reset all components before parsing.- Overrides:
reset
in classXMLParser
- Throws:
XNIException
- Thrown if an error occurs during initialization.
-