Class AbstractXMLDocumentParser
- java.lang.Object
-
- org.htmlunit.cyberneko.xerces.parsers.XMLParser
-
- org.htmlunit.cyberneko.xerces.parsers.AbstractXMLDocumentParser
-
- All Implemented Interfaces:
XMLDocumentHandler
- Direct Known Subclasses:
AbstractDOMParser
,AbstractSAXParser
public abstract class AbstractXMLDocumentParser extends XMLParser implements XMLDocumentHandler
This is the base class for all XML document parsers. XMLDocumentParser provides a common implementation shared by the various document parsers in the Xerces package. While this class is provided for convenience, it does not prevent other kinds of parsers to be constructed using the XNI interfaces.
-
-
Field Summary
Fields Modifier and Type Field Description private XMLDocumentSource
documentSource_
-
Fields inherited from class org.htmlunit.cyberneko.xerces.parsers.XMLParser
ERROR_HANDLER, parserConfiguration_
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractXMLDocumentParser(XMLParserConfiguration config)
Constructs a document parser using the default symbol table and grammar pool.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
characters(XMLString text, Augmentations augs)
Character content.void
comment(XMLString text, Augmentations augs)
A comment.void
doctypeDecl(java.lang.String rootElement, java.lang.String publicId, java.lang.String systemId, Augmentations augs)
Notifies of the presence of the DOCTYPE line in the document.void
emptyElement(QName element, XMLAttributes attributes, Augmentations augs)
An empty element.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.XMLDocumentSource
getDocumentSource()
void
processingInstruction(java.lang.String target, XMLString data, Augmentations augs)
A processing instruction.void
setDocumentSource(XMLDocumentSource source)
Sets the document source.void
startCDATA(Augmentations augs)
The start of a CDATA section.void
startDocument(XMLLocator locator, java.lang.String encoding, NamespaceContext namespaceContext, Augmentations augs)
The start of the document.void
startElement(QName element, XMLAttributes attributes, Augmentations augs)
The start of an element.void
xmlDecl(java.lang.String version, java.lang.String encoding, java.lang.String standalone, Augmentations augs)
Notifies of the presence of an XMLDecl line in the document.
-
-
-
Field Detail
-
documentSource_
private XMLDocumentSource documentSource_
-
-
Constructor Detail
-
AbstractXMLDocumentParser
protected AbstractXMLDocumentParser(XMLParserConfiguration config)
Constructs a document parser using the default symbol table and grammar pool.- Parameters:
config
- the config
-
-
Method Detail
-
startDocument
public void startDocument(XMLLocator locator, java.lang.String encoding, NamespaceContext namespaceContext, Augmentations augs) throws XNIException
The start of the document.- Specified by:
startDocument
in interfaceXMLDocumentHandler
- Parameters:
locator
- The system identifier of the entity if the entity is external, null otherwise.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(java.lang.String version, java.lang.String encoding, java.lang.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
- 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(java.lang.String rootElement, java.lang.String publicId, java.lang.String systemId, Augmentations augs) throws XNIException
Notifies of the presence of the DOCTYPE line in the document.- Specified by:
doctypeDecl
in interfaceXMLDocumentHandler
- 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, nullaugs
- Additional information that may include infoset augmentations otherwise.- 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
- 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.
-
emptyElement
public void emptyElement(QName element, XMLAttributes attributes, Augmentations augs) throws XNIException
An empty element.- Specified by:
emptyElement
in interfaceXMLDocumentHandler
- 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
public void characters(XMLString text, Augmentations augs) throws XNIException
Character content.- Specified by:
characters
in interfaceXMLDocumentHandler
- Parameters:
text
- The content.augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
endElement
public void endElement(QName element, Augmentations augs) throws XNIException
The end of an element.- Specified by:
endElement
in interfaceXMLDocumentHandler
- 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
public void startCDATA(Augmentations augs) throws XNIException
The start of a CDATA section.- Specified by:
startCDATA
in interfaceXMLDocumentHandler
- Parameters:
augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
endCDATA
public void endCDATA(Augmentations augs) throws XNIException
The end of a CDATA section.- Specified by:
endCDATA
in interfaceXMLDocumentHandler
- Parameters:
augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
endDocument
public void endDocument(Augmentations augs) throws XNIException
The end of the document.- Specified by:
endDocument
in interfaceXMLDocumentHandler
- Parameters:
augs
- Additional information that may include infoset augmentations- Throws:
XNIException
- Thrown by handler to signal an error.
-
comment
public void comment(XMLString text, Augmentations augs) throws XNIException
A comment.- Specified by:
comment
in interfaceXMLDocumentHandler
- 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(java.lang.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
- 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.
-
setDocumentSource
public void setDocumentSource(XMLDocumentSource source)
Sets the document source.- Specified by:
setDocumentSource
in interfaceXMLDocumentHandler
- Parameters:
source
- the new source
-
getDocumentSource
public XMLDocumentSource getDocumentSource()
- Specified by:
getDocumentSource
in interfaceXMLDocumentHandler
- Returns:
- the document source.
-
-