abstract class AbstractStaxHandler
extends java.lang.Object
implements org.xml.sax.ContentHandler, org.xml.sax.ext.LexicalHandler
ContentHandler
and LexicalHandler
implementations that use StAX as a basis. All methods delegate to internal template
methods, capable of throwing a XMLStreamException
. Additionally, an namespace
context stack is used to keep track of declared namespaces.Modifier and Type | Field and Description |
---|---|
private boolean |
inCData |
private java.util.List<java.util.Map<java.lang.String,java.lang.String>> |
namespaceMappings |
Constructor and Description |
---|
AbstractStaxHandler() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
cDataInternal(java.lang.String data) |
void |
characters(char[] ch,
int start,
int length) |
protected abstract void |
charactersInternal(java.lang.String data) |
void |
comment(char[] ch,
int start,
int length) |
protected abstract void |
commentInternal(java.lang.String comment) |
private java.util.Map<java.lang.String,java.lang.String> |
currentNamespaceMapping() |
protected abstract void |
dtdInternal(java.lang.String dtd) |
void |
endCDATA() |
void |
endDocument() |
protected abstract void |
endDocumentInternal() |
void |
endDTD() |
void |
endElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName) |
protected abstract void |
endElementInternal(javax.xml.namespace.QName name,
java.util.Map<java.lang.String,java.lang.String> namespaceMapping) |
void |
endEntity(java.lang.String name) |
void |
endPrefixMapping(java.lang.String prefix) |
void |
ignorableWhitespace(char[] ch,
int start,
int length) |
protected abstract void |
ignorableWhitespaceInternal(java.lang.String data) |
protected boolean |
isNamespaceDeclaration(javax.xml.namespace.QName qName) |
private void |
newNamespaceMapping() |
void |
processingInstruction(java.lang.String target,
java.lang.String data) |
protected abstract void |
processingInstructionInternal(java.lang.String target,
java.lang.String data) |
private void |
removeAllNamespaceMappings() |
private void |
removeNamespaceMapping() |
void |
skippedEntity(java.lang.String name) |
protected abstract void |
skippedEntityInternal(java.lang.String name) |
void |
startCDATA() |
void |
startDocument() |
protected abstract void |
startDocumentInternal() |
void |
startDTD(java.lang.String name,
java.lang.String publicId,
java.lang.String systemId) |
void |
startElement(java.lang.String uri,
java.lang.String localName,
java.lang.String qName,
org.xml.sax.Attributes atts) |
protected abstract void |
startElementInternal(javax.xml.namespace.QName name,
org.xml.sax.Attributes attributes,
java.util.Map<java.lang.String,java.lang.String> namespaceMapping) |
void |
startEntity(java.lang.String name) |
void |
startPrefixMapping(java.lang.String prefix,
java.lang.String uri) |
protected javax.xml.namespace.QName |
toQName(java.lang.String namespaceUri,
java.lang.String qualifiedName)
Convert a namespace URI and DOM or SAX qualified name to a
QName . |
private final java.util.List<java.util.Map<java.lang.String,java.lang.String>> namespaceMappings
private boolean inCData
public final void startDocument() throws org.xml.sax.SAXException
startDocument
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public final void endDocument() throws org.xml.sax.SAXException
endDocument
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public final void startPrefixMapping(java.lang.String prefix, java.lang.String uri)
startPrefixMapping
in interface org.xml.sax.ContentHandler
public final void endPrefixMapping(java.lang.String prefix)
endPrefixMapping
in interface org.xml.sax.ContentHandler
public final void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts) throws org.xml.sax.SAXException
startElement
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public final void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException
endElement
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public final void characters(char[] ch, int start, int length) throws org.xml.sax.SAXException
characters
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public final void ignorableWhitespace(char[] ch, int start, int length) throws org.xml.sax.SAXException
ignorableWhitespace
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public final void processingInstruction(java.lang.String target, java.lang.String data) throws org.xml.sax.SAXException
processingInstruction
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public final void skippedEntity(java.lang.String name) throws org.xml.sax.SAXException
skippedEntity
in interface org.xml.sax.ContentHandler
org.xml.sax.SAXException
public final void startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId) throws org.xml.sax.SAXException
startDTD
in interface org.xml.sax.ext.LexicalHandler
org.xml.sax.SAXException
public final void endDTD() throws org.xml.sax.SAXException
endDTD
in interface org.xml.sax.ext.LexicalHandler
org.xml.sax.SAXException
public final void startCDATA() throws org.xml.sax.SAXException
startCDATA
in interface org.xml.sax.ext.LexicalHandler
org.xml.sax.SAXException
public final void endCDATA() throws org.xml.sax.SAXException
endCDATA
in interface org.xml.sax.ext.LexicalHandler
org.xml.sax.SAXException
public final void comment(char[] ch, int start, int length) throws org.xml.sax.SAXException
comment
in interface org.xml.sax.ext.LexicalHandler
org.xml.sax.SAXException
public void startEntity(java.lang.String name) throws org.xml.sax.SAXException
startEntity
in interface org.xml.sax.ext.LexicalHandler
org.xml.sax.SAXException
public void endEntity(java.lang.String name) throws org.xml.sax.SAXException
endEntity
in interface org.xml.sax.ext.LexicalHandler
org.xml.sax.SAXException
protected javax.xml.namespace.QName toQName(java.lang.String namespaceUri, java.lang.String qualifiedName)
QName
. The
qualified name can have the form prefix:localname
or localName
.namespaceUri
- the namespace URIqualifiedName
- the qualified nameprotected boolean isNamespaceDeclaration(javax.xml.namespace.QName qName)
private java.util.Map<java.lang.String,java.lang.String> currentNamespaceMapping()
private void newNamespaceMapping()
private void removeNamespaceMapping()
private void removeAllNamespaceMappings()
protected abstract void startDocumentInternal() throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected abstract void endDocumentInternal() throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected abstract void startElementInternal(javax.xml.namespace.QName name, org.xml.sax.Attributes attributes, java.util.Map<java.lang.String,java.lang.String> namespaceMapping) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected abstract void endElementInternal(javax.xml.namespace.QName name, java.util.Map<java.lang.String,java.lang.String> namespaceMapping) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected abstract void charactersInternal(java.lang.String data) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected abstract void cDataInternal(java.lang.String data) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected abstract void ignorableWhitespaceInternal(java.lang.String data) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected abstract void processingInstructionInternal(java.lang.String target, java.lang.String data) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected abstract void skippedEntityInternal(java.lang.String name) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected abstract void dtdInternal(java.lang.String dtd) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected abstract void commentInternal(java.lang.String comment) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException