javax.xml.namespace.NamespaceContext, javax.xml.stream.XMLStreamConstants, javax.xml.stream.XMLStreamReaderpublic class DOMStreamReader
extends java.lang.Object
implements javax.xml.stream.XMLStreamReader, javax.xml.namespace.NamespaceContext
XMLStreamReader on top of a DOM tree.
Since various libraries as well as users often create "incorrect" DOM node, this class spends a lot of efforts making sure that broken DOM trees are nevertheless interpreted correctly.
For example, if a DOM level
1 tree is passed, each method will attempt to return the correct value
by using Node.getNodeName().
Similarly, if DOM is missing explicit namespace declarations, this class attempts to emulate necessary declarations.
| Modifier and Type | Class | Description |
|---|---|---|
protected static class |
DOMStreamReader.Scope |
Namespace declarations on one element.
|
| Modifier and Type | Field | Description |
|---|---|---|
protected org.w3c.dom.Node |
_current |
Current DOM node being traversed.
|
protected int |
_state |
State of this reader.
|
protected int |
depth |
Depth of the current element.
|
protected DOMStreamReader.Scope[] |
scopes |
DOMStreamReader.Scope buffer. |
protected java.lang.String |
wholeText |
If the reader points at
the text node,
its whole value. |
| Constructor | Description |
|---|---|
DOMStreamReader() |
|
DOMStreamReader(org.w3c.dom.Node node) |
| Modifier and Type | Method | Description |
|---|---|---|
protected int |
_next() |
|
void |
close() |
|
int |
getAttributeCount() |
|
java.lang.String |
getAttributeLocalName(int index) |
Return an attribute's local name.
|
javax.xml.namespace.QName |
getAttributeName(int index) |
Return an attribute's qname.
|
java.lang.String |
getAttributeNamespace(int index) |
|
java.lang.String |
getAttributePrefix(int index) |
|
java.lang.String |
getAttributeType(int index) |
|
java.lang.String |
getAttributeValue(int index) |
|
java.lang.String |
getAttributeValue(java.lang.String namespaceURI,
java.lang.String localName) |
|
java.lang.String |
getCharacterEncodingScheme() |
|
java.lang.String |
getElementText() |
|
java.lang.String |
getEncoding() |
|
int |
getEventType() |
|
java.lang.String |
getLocalName() |
Return an element's local name.
|
javax.xml.stream.Location |
getLocation() |
|
javax.xml.namespace.QName |
getName() |
Return an element's qname.
|
javax.xml.namespace.NamespaceContext |
getNamespaceContext() |
|
int |
getNamespaceCount() |
|
java.lang.String |
getNamespacePrefix(int index) |
|
java.lang.String |
getNamespaceURI() |
|
java.lang.String |
getNamespaceURI(int index) |
|
java.lang.String |
getNamespaceURI(java.lang.String prefix) |
This method is not particularly fast, but shouldn't be called very
often.
|
java.lang.String |
getPIData() |
|
java.lang.String |
getPITarget() |
|
java.lang.String |
getPrefix() |
|
java.lang.String |
getPrefix(java.lang.String nsUri) |
|
java.util.Iterator |
getPrefixes(java.lang.String nsUri) |
|
java.lang.Object |
getProperty(java.lang.String str) |
|
java.lang.String |
getText() |
|
char[] |
getTextCharacters() |
|
int |
getTextCharacters(int sourceStart,
char[] target,
int targetStart,
int targetLength) |
|
int |
getTextLength() |
|
int |
getTextStart() |
|
java.lang.String |
getVersion() |
|
boolean |
hasName() |
|
boolean |
hasNext() |
|
boolean |
hasText() |
|
boolean |
isAttributeSpecified(int param) |
|
boolean |
isCharacters() |
|
boolean |
isEndElement() |
|
boolean |
isStandalone() |
|
boolean |
isStartElement() |
|
boolean |
isWhiteSpace() |
|
int |
next() |
|
int |
nextTag() |
|
void |
require(int type,
java.lang.String namespaceURI,
java.lang.String localName) |
|
void |
setCurrentNode(org.w3c.dom.Node node) |
|
protected void |
splitAttributes() |
Called when the current node is
Element to look at attribute list
(which contains both ns decl and attributes in DOM) and split them
to attributes-proper and namespace decls. |
boolean |
standaloneSet() |
protected org.w3c.dom.Node _current
protected java.lang.String wholeText
the text node,
its whole value.
This is simply a cache of Text.getWholeText() of _current,
but when a large binary data sent as base64 text, this could get very much
non-trivial.
protected DOMStreamReader.Scope[] scopes
DOMStreamReader.Scope buffer.protected int depth
scopes.protected int _state
public DOMStreamReader()
public DOMStreamReader(org.w3c.dom.Node node)
public void setCurrentNode(org.w3c.dom.Node node)
public void close()
throws javax.xml.stream.XMLStreamException
close in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionprotected void splitAttributes()
Element to look at attribute list
(which contains both ns decl and attributes in DOM) and split them
to attributes-proper and namespace decls.public int getAttributeCount()
getAttributeCount in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getAttributeLocalName(int index)
getAttributeLocalName in interface javax.xml.stream.XMLStreamReaderpublic javax.xml.namespace.QName getAttributeName(int index)
getAttributeName in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getAttributeNamespace(int index)
getAttributeNamespace in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getAttributePrefix(int index)
getAttributePrefix in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getAttributeType(int index)
getAttributeType in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getAttributeValue(int index)
getAttributeValue in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getAttributeValue(java.lang.String namespaceURI,
java.lang.String localName)
getAttributeValue in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getCharacterEncodingScheme()
getCharacterEncodingScheme in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getElementText()
throws javax.xml.stream.XMLStreamException
getElementText in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic java.lang.String getEncoding()
getEncoding in interface javax.xml.stream.XMLStreamReaderpublic int getEventType()
getEventType in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getLocalName()
getLocalName in interface javax.xml.stream.XMLStreamReaderpublic javax.xml.stream.Location getLocation()
getLocation in interface javax.xml.stream.XMLStreamReaderpublic javax.xml.namespace.QName getName()
getName in interface javax.xml.stream.XMLStreamReaderpublic javax.xml.namespace.NamespaceContext getNamespaceContext()
getNamespaceContext in interface javax.xml.stream.XMLStreamReaderpublic int getNamespaceCount()
getNamespaceCount in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getNamespacePrefix(int index)
getNamespacePrefix in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getNamespaceURI(int index)
getNamespaceURI in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getNamespaceURI()
getNamespaceURI in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getNamespaceURI(java.lang.String prefix)
getNamespaceURI in interface javax.xml.namespace.NamespaceContextgetNamespaceURI in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getPrefix(java.lang.String nsUri)
getPrefix in interface javax.xml.namespace.NamespaceContextpublic java.util.Iterator getPrefixes(java.lang.String nsUri)
getPrefixes in interface javax.xml.namespace.NamespaceContextpublic java.lang.String getPIData()
getPIData in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getPITarget()
getPITarget in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getPrefix()
getPrefix in interface javax.xml.stream.XMLStreamReaderpublic java.lang.Object getProperty(java.lang.String str)
throws java.lang.IllegalArgumentException
getProperty in interface javax.xml.stream.XMLStreamReaderjava.lang.IllegalArgumentExceptionpublic java.lang.String getText()
getText in interface javax.xml.stream.XMLStreamReaderpublic char[] getTextCharacters()
getTextCharacters in interface javax.xml.stream.XMLStreamReaderpublic int getTextCharacters(int sourceStart,
char[] target,
int targetStart,
int targetLength)
throws javax.xml.stream.XMLStreamException
getTextCharacters in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic int getTextLength()
getTextLength in interface javax.xml.stream.XMLStreamReaderpublic int getTextStart()
getTextStart in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getVersion()
getVersion in interface javax.xml.stream.XMLStreamReaderpublic boolean hasName()
hasName in interface javax.xml.stream.XMLStreamReaderpublic boolean hasNext()
throws javax.xml.stream.XMLStreamException
hasNext in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic boolean hasText()
hasText in interface javax.xml.stream.XMLStreamReaderpublic boolean isAttributeSpecified(int param)
isAttributeSpecified in interface javax.xml.stream.XMLStreamReaderpublic boolean isCharacters()
isCharacters in interface javax.xml.stream.XMLStreamReaderpublic boolean isEndElement()
isEndElement in interface javax.xml.stream.XMLStreamReaderpublic boolean isStandalone()
isStandalone in interface javax.xml.stream.XMLStreamReaderpublic boolean isStartElement()
isStartElement in interface javax.xml.stream.XMLStreamReaderpublic boolean isWhiteSpace()
isWhiteSpace in interface javax.xml.stream.XMLStreamReaderpublic int next()
throws javax.xml.stream.XMLStreamException
next in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionprotected int _next()
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic int nextTag()
throws javax.xml.stream.XMLStreamException
nextTag in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic void require(int type,
java.lang.String namespaceURI,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
require in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic boolean standaloneSet()
standaloneSet in interface javax.xml.stream.XMLStreamReaderCopyright © 2018 Oracle Corporation. All rights reserved.