|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.codehaus.stax2.ri.dom.DOMWrappingReader
public abstract class DOMWrappingReader
This is an adapter class that presents a DOM document as if it was
a regular XMLStreamReader.
Note that the implementation is only to be used for use with
javax.xml.transform.dom.DOMSource. It can however be
used for both full documents, and single element root fragments,
depending on what node is passed as the argument.
Some notes regarding missing/incomplete functionality:
| Field Summary | |
|---|---|
protected static int |
ERR_STATE_NO_LOCALNAME
|
protected static int |
ERR_STATE_NOT_ELEM
Current state not START_ELEMENT or END_ELEMENT, should be |
protected static int |
ERR_STATE_NOT_PI
Current state not PROCESSING_INSTRUCTION |
protected static int |
ERR_STATE_NOT_START_ELEM
Current state not START_ELEMENT, should be |
protected static int |
ERR_STATE_NOT_TEXTUAL
Current state not one where getText() can be used |
protected static int |
ERR_STATE_NOT_TEXTUAL_XXX
Current state not one where getTextXxx() can be used |
protected java.util.List |
mAttrList
Lazily instantiated List of all actual attributes for the current (start) element, NOT including namespace declarations. |
protected java.lang.String |
mCoalescedText
In coalescing mode, we may need to combine textual content from multiple adjacent nodes. |
protected boolean |
mCoalescing
Whether stream reader is to coalesce adjacent textual (CHARACTERS, SPACE, CDATA) events (as per property XMLInputFactory.IS_COALESCING) or not |
protected int |
mCurrEvent
|
protected org.w3c.dom.Node |
mCurrNode
Current node is the DOM node that contains information regarding the current event. |
protected int |
mDepth
|
protected boolean |
mNsAware
Whether stream reader is to be namespace aware (as per property XMLInputFactory.IS_NAMESPACE_AWARE) or not |
protected java.util.List |
mNsDeclList
Lazily instantiated String pairs of all namespace declarations for the current (start/end) element. |
protected org.w3c.dom.Node |
mRootNode
|
protected java.lang.String |
mSystemId
|
protected Stax2Util.TextBuffer |
mTextBuffer
Helper object used for combining segments of text as needed |
protected ValueDecoder |
mValueDecoder
ValueDecoder to use for decoding typed content; lazily instantiated/accessed if and when needed |
| Fields inherited from interface org.codehaus.stax2.XMLStreamReader2 |
|---|
FEATURE_DTD_OVERRIDE |
| Fields inherited from interface javax.xml.stream.XMLStreamConstants |
|---|
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT |
| Constructor Summary | |
|---|---|
protected |
DOMWrappingReader(javax.xml.transform.dom.DOMSource src,
boolean nsAware,
boolean coalescing)
|
| Method Summary | |
|---|---|
void |
close()
Note: as per StAX 1.0 specs, this method does NOT close the underlying input reader. |
void |
closeCompletely()
Method similar to XMLStreamReader.getNamespaceContext(),
except that this method also does close the underlying input
source if it has not yet been closed. |
protected void |
coalesceText(int initialType)
|
protected TypedXMLStreamException |
constructTypeException(java.lang.IllegalArgumentException iae,
java.lang.String lexicalValue)
Method called to wrap or convert given conversion-fail exception into a full TypedXMLStreamException, |
int |
findAttributeIndex(java.lang.String nsURI,
java.lang.String localName)
|
protected java.lang.String |
findErrorDesc(int errorType,
int currEvent)
Method used to locate error message description to use. |
boolean |
getAttributeAsBoolean(int index)
Read an attribute value as a boolean. |
int |
getAttributeAsInt(int index)
Read an attribute value as a boolean. |
long |
getAttributeAsLong(int index)
Read an attribute value as a boolean. |
int |
getAttributeCount()
|
int |
getAttributeIndex(java.lang.String namespaceURI,
java.lang.String localName)
Returns the index of the attribute whose local name is localName and URI is namespaceURI
or -1 if no such attribute exists. |
AttributeInfo |
getAttributeInfo()
Method that can be called to get additional information about attributes related to the current start element, as well as related DTD-based information if available. |
java.lang.String |
getAttributeLocalName(int index)
|
javax.xml.namespace.QName |
getAttributeName(int index)
|
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 nsURI,
java.lang.String localName)
|
java.lang.String |
getCharacterEncodingScheme()
As per Stax (1.0) specs, needs to return whatever xml declaration claimed encoding is, if any; or null if no xml declaration found. |
XMLStreamLocation2 |
getCurrentLocation()
A method that returns the current location of the stream reader at the input source. |
int |
getDepth()
Method that returns the number of open elements in the stack; 0 when the reader is in prolog/epilog, 1 inside root element (including when pointing at the root element itself) and so on. |
DTDInfo |
getDTDInfo()
Since this class implements DTDInfo, method can just
return this. |
java.lang.String |
getDTDInternalSubset()
|
java.lang.String |
getDTDPublicId()
|
java.lang.String |
getDTDRootName()
|
java.lang.String |
getDTDSystemId()
|
boolean |
getElementAsBoolean()
Read an element content as a boolean. |
int |
getElementAsInt()
[TODO] Same as TypedXMLStreamReader.getElementAsBoolean() replacing boolean by int. |
long |
getElementAsLong()
[TODO] Same as TypedXMLStreamReader.getElementAsBoolean() replacing boolean by long. |
java.lang.String |
getElementText()
From StAX specs: Reads the content of a text-only element, an exception is thrown if this is not a text-only element. |
java.lang.String |
getEncoding()
As per Stax (1.0) specs, needs to return whatever parser determined the encoding was, if it was able to figure it out. |
long |
getEndingByteOffset()
Method that can be used to get exact byte offset (number of bytes read from the stream right before getting to this location) in the stream that is pointed to by this reader, right after the end of the current event. |
long |
getEndingCharOffset()
Method that can be used to get exact character offset (number of chars read from the stream right before getting to this location) in the stream that is pointed to by this reader, right after the end of the current event. |
XMLStreamLocation2 |
getEndLocation()
An optional method that either returns the location object that points the ending position of the current event, or null if implementation does not keep track of it (some may return only start location; and some no location at all). |
protected javax.xml.stream.Location |
getErrorLocation()
|
int |
getEventType()
Returns type of the last event returned; or START_DOCUMENT before any events has been explicitly returned. |
java.lang.Object |
getFeature(java.lang.String name)
Method that can be used to get per-reader values; both generic ones (names for which are defined as constants in this class), and implementation dependant ones. |
int |
getIdAttributeIndex()
Returns the index of the id attribute (attribute with any name, type ID from DTD) of current (start) element, if any. |
java.lang.String |
getLocalName()
|
javax.xml.stream.Location |
getLocation()
|
LocationInfo |
getLocationInfo()
Location information is always accessible, for this reader. |
javax.xml.namespace.QName |
getName()
|
javax.xml.namespace.NamespaceContext |
getNamespaceContext()
|
int |
getNamespaceCount()
|
java.lang.String |
getNamespacePrefix(int index)
Alas, DOM does not expose any of information necessary for determining actual declarations. |
java.lang.String |
getNamespaceURI()
|
java.lang.String |
getNamespaceURI(int index)
|
java.lang.String |
getNamespaceURI(java.lang.String prefix)
|
javax.xml.namespace.NamespaceContext |
getNonTransientNamespaceContext()
This method returns a namespace contenxt object that contains information identical to that returned by XMLStreamReader.getNamespaceContext(),
but one that is
not transient. |
int |
getNotationAttributeIndex()
Returns the index of the notation attribute (attribute with any name, type NOTATION from DTD) of current (start) element, if any. |
java.lang.String |
getPIData()
|
java.lang.String |
getPITarget()
|
java.lang.String |
getPrefix()
|
java.lang.String |
getPrefix(java.lang.String namespaceURI)
|
java.lang.String |
getPrefixedName()
This method returns "prefix-qualified" name of the current element. |
java.util.Iterator |
getPrefixes(java.lang.String namespaceURI)
|
java.lang.Object |
getProcessedDTD()
|
DTDValidationSchema |
getProcessedDTDSchema()
Method similar to DTDInfo.getProcessedDTD(), but type-safe. |
abstract java.lang.Object |
getProperty(java.lang.String name)
|
long |
getStartingByteOffset()
Method that can be used to get exact byte offset (number of bytes read from the stream right before getting to this location) in the stream that is pointed to by this reader, right before the start of the current event. |
long |
getStartingCharOffset()
Method that can be used to get exact character offset (number of chars read from the stream right before getting to this location) in the stream that is pointed to by this reader, right before the start of the current event. |
XMLStreamLocation2 |
getStartLocation()
An optional method that either returns the location object that points the starting position of the current event, or null if implementation does not keep track of it (some may return only end location; and some no location at all). |
java.lang.String |
getText()
|
int |
getText(java.io.Writer w,
boolean preserveContents)
Method similar to getText(), except
that it just uses provided Writer to write all textual content. |
char[] |
getTextCharacters()
|
int |
getTextCharacters(int sourceStart,
char[] target,
int targetStart,
int len)
|
int |
getTextLength()
|
int |
getTextStart()
|
java.lang.String |
getVersion()
|
boolean |
hasName()
|
boolean |
hasNext()
|
boolean |
hasText()
|
boolean |
isAttributeSpecified(int index)
|
boolean |
isCharacters()
|
boolean |
isEmptyElement()
Method that can be used to check whether current START_ELEMENT event was created for an empty element (xml short-hand notation where one tag implies start and end, ending with "/>"), or not. |
boolean |
isEndElement()
|
abstract boolean |
isPropertySupported(java.lang.String name)
Method similar to XMLInputFactory.isPropertySupported(java.lang.String), used
to determine whether a property is supported by the Reader
instance. |
boolean |
isStandalone()
|
boolean |
isStartElement()
|
boolean |
isWhiteSpace()
|
int |
next()
|
int |
nextTag()
|
protected void |
reportParseProblem(int errorType)
|
protected void |
reportWrongState(int errorType)
|
void |
require(int type,
java.lang.String nsUri,
java.lang.String localName)
|
void |
setFeature(java.lang.String name,
java.lang.Object value)
Method that can be used to set per-reader features such as configuration settings; both generic ones (names for which are defined as constants in this class), and implementation dependant ones. |
abstract boolean |
setProperty(java.lang.String name,
java.lang.Object value)
Method that can be used to set per-reader properties; a subset of properties one can set via matching XMLInputFactory2
instance. |
ValidationProblemHandler |
setValidationProblemHandler(ValidationProblemHandler h)
Method that application can call to define a custom handler for validation problems encountered during validation process. |
void |
skipElement()
Method that will skip all the contents of the element that the stream currently points to. |
boolean |
standaloneSet()
|
XMLValidator |
stopValidatingAgainst(XMLValidationSchema schema)
Method that can be called by application to stop validating output against a schema, for which Validatable.validateAgainst(org.codehaus.stax2.validation.XMLValidationSchema)
was called earlier. |
XMLValidator |
stopValidatingAgainst(XMLValidator validator)
Method that can be called by application to stop validating output using specified validator. |
protected void |
throwStreamException(java.lang.String msg)
|
protected abstract void |
throwStreamException(java.lang.String msg,
javax.xml.stream.Location loc)
|
XMLValidator |
validateAgainst(XMLValidationSchema schema)
Method that will construct a XMLValidator instance from the
given schema (unless a validator for that schema has already been
added),
initialize it if necessary, and make validatable object (reader,
writer)
call appropriate validation methods from this point on until the
end of the document (that is, it's not scoped with sub-trees), or until
validator is removed by an explicit call to
Validatable.stopValidatingAgainst(org.codehaus.stax2.validation.XMLValidationSchema). |
protected ValueDecoder |
valueDecoder()
This method can be overridden by sub-classes, if an alternate value decoder instance should be used for handling conversions needed to implement Typed Access API. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final int ERR_STATE_NOT_START_ELEM
protected static final int ERR_STATE_NOT_ELEM
protected static final int ERR_STATE_NOT_PI
protected static final int ERR_STATE_NOT_TEXTUAL
protected static final int ERR_STATE_NOT_TEXTUAL_XXX
protected static final int ERR_STATE_NO_LOCALNAME
protected final java.lang.String mSystemId
protected final org.w3c.dom.Node mRootNode
protected final boolean mNsAware
XMLInputFactory.IS_NAMESPACE_AWARE) or not
protected final boolean mCoalescing
XMLInputFactory.IS_COALESCING) or not
protected int mCurrEvent
protected org.w3c.dom.Node mCurrNode
protected int mDepth
protected java.lang.String mCoalescedText
protected Stax2Util.TextBuffer mTextBuffer
protected java.util.List mAttrList
Attr instances.
protected java.util.List mNsDeclList
protected ValueDecoder mValueDecoder
| Constructor Detail |
|---|
protected DOMWrappingReader(javax.xml.transform.dom.DOMSource src,
boolean nsAware,
boolean coalescing)
throws javax.xml.stream.XMLStreamException
src - Node that is the tree of the DOM document, or fragment.nsAware - Whether resulting reader should operate in namespace
aware mode or not. Note that this should be compatible with
settings for the DOM builder that produced DOM tree or fragment
being operated on, otherwise results are not defined.coalescing - Whether resulting reader should coalesce adjacent
text events or not
javax.xml.stream.XMLStreamException| Method Detail |
|---|
protected abstract void throwStreamException(java.lang.String msg,
javax.xml.stream.Location loc)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic java.lang.String getCharacterEncodingScheme()
getCharacterEncodingScheme in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getEncoding()
Reader), it should return null.
getEncoding in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getVersion()
getVersion in interface javax.xml.stream.XMLStreamReaderpublic boolean isStandalone()
isStandalone in interface javax.xml.stream.XMLStreamReaderpublic boolean standaloneSet()
standaloneSet in interface javax.xml.stream.XMLStreamReaderpublic abstract java.lang.Object getProperty(java.lang.String name)
getProperty in interface javax.xml.stream.XMLStreamReaderpublic abstract boolean isPropertySupported(java.lang.String name)
XMLStreamReader2XMLInputFactory.isPropertySupported(java.lang.String), used
to determine whether a property is supported by the Reader
instance. This means that this method may return false
for some properties that the input factory does support: specifically,
it should only return true if the value is mutable on per-instance
basis. False means that either the property is not recognized, or
is not mutable via reader instance.
isPropertySupported in interface XMLStreamReader2
public abstract boolean setProperty(java.lang.String name,
java.lang.Object value)
XMLStreamReader2XMLInputFactory2
instance. Exactly which methods are mutable is implementation
specific.
setProperty in interface XMLStreamReader2name - Name of the property to setvalue - Value to set property to.
public int getAttributeCount()
getAttributeCount in interface javax.xml.stream.XMLStreamReadergetAttributeCount in interface AttributeInfopublic 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.XMLStreamReader
public java.lang.String getAttributeValue(java.lang.String nsURI,
java.lang.String localName)
getAttributeValue in interface javax.xml.stream.XMLStreamReader
public java.lang.String getElementText()
throws javax.xml.stream.XMLStreamException
Reads the content of a text-only element, an exception is thrown if this is not a text-only element. Regardless of value of javax.xml.stream.isCoalescing this method always returns coalesced content.
Precondition: the current event is START_ELEMENT.
Postcondition: the current event is the corresponding END_ELEMENT.
getElementText in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic int getEventType()
getEventType in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getLocalName()
getLocalName 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()
getNamespaceURI in interface javax.xml.stream.XMLStreamReaderpublic java.lang.String getNamespaceURI(int index)
getNamespaceURI in interface javax.xml.stream.XMLStreamReaderpublic 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.String getText()
getText in interface javax.xml.stream.XMLStreamReaderpublic char[] getTextCharacters()
getTextCharacters in interface javax.xml.stream.XMLStreamReader
public int getTextCharacters(int sourceStart,
char[] target,
int targetStart,
int len)
getTextCharacters in interface javax.xml.stream.XMLStreamReaderpublic int getTextLength()
getTextLength in interface javax.xml.stream.XMLStreamReaderpublic int getTextStart()
getTextStart in interface javax.xml.stream.XMLStreamReaderpublic boolean hasName()
hasName in interface javax.xml.stream.XMLStreamReaderpublic boolean hasNext()
hasNext in interface javax.xml.stream.XMLStreamReaderpublic boolean hasText()
hasText in interface javax.xml.stream.XMLStreamReaderpublic boolean isAttributeSpecified(int index)
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 isStartElement()
isStartElement in interface javax.xml.stream.XMLStreamReaderpublic boolean isWhiteSpace()
isWhiteSpace in interface javax.xml.stream.XMLStreamReader
public void require(int type,
java.lang.String nsUri,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
require in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamException
public int next()
throws javax.xml.stream.XMLStreamException
next in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamException
public int nextTag()
throws javax.xml.stream.XMLStreamException
nextTag in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamException
public void close()
throws javax.xml.stream.XMLStreamException
Note: as per StAX 1.0 specs, this method does NOT close the underlying
input reader. That is, unless the new StAX2 property
XMLInputFactory2.P_AUTO_CLOSE_INPUT is
set to true.
close in interface javax.xml.stream.XMLStreamReaderjavax.xml.stream.XMLStreamExceptionpublic 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 namespaceURI)
getPrefix in interface javax.xml.namespace.NamespaceContextpublic java.util.Iterator getPrefixes(java.lang.String namespaceURI)
getPrefixes in interface javax.xml.namespace.NamespaceContext
public boolean getElementAsBoolean()
throws javax.xml.stream.XMLStreamException
TypedXMLStreamReaderRead an element content as a boolean. The lexical representation of a boolean is defined by the XML Schema boolean data type. Whitespace MUST be collapsed according to the whiteSpace facet for the XML Schema boolean data type. An exception is thrown if, after whitespace is collapsed, the resulting sequence of characters is not in the lexical space defined by the XML Schema boolean data type. (note: allowed lexical values are canonicals "true" and "false", as well as non-canonical "0" and "1")
These are the pre and post conditions of calling this method, regardless of whether an exception is thrown or not.
getElementAsBoolean in interface TypedXMLStreamReaderjavax.xml.stream.XMLStreamException - If unable to access content
TypedXMLStreamException - If unable to convert the resulting
character sequence into an XML Schema boolean value.
public int getElementAsInt()
throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader[TODO]
Same as TypedXMLStreamReader.getElementAsBoolean() replacing boolean by int.
getElementAsInt in interface TypedXMLStreamReaderjavax.xml.stream.XMLStreamException - If unable to access content
TypedXMLStreamException - If unable to convert the resulting
character sequence into a 32-bit integer value
public long getElementAsLong()
throws javax.xml.stream.XMLStreamException
TypedXMLStreamReader[TODO]
Same as TypedXMLStreamReader.getElementAsBoolean() replacing boolean by long.
getElementAsLong in interface TypedXMLStreamReaderjavax.xml.stream.XMLStreamException - If unable to access content
TypedXMLStreamException - If unable to convert the resulting
character sequence into a 64-bit integer value
public int getAttributeIndex(java.lang.String namespaceURI,
java.lang.String localName)
TypedXMLStreamReaderlocalName and URI is namespaceURI
or -1 if no such attribute exists.
getAttributeIndex in interface TypedXMLStreamReadernamespaceURI - The attribute's namespace URI. Values of
null and "" are considered the same, i.e. "no namespace"
(or "empty" namespace)localName - The attribute's local name.
-1 if no
such attribute exists.
public boolean getAttributeAsBoolean(int index)
throws javax.xml.stream.XMLStreamException
TypedXMLStreamReaderRead an attribute value as a boolean. The lexical representation of a boolean is defined by the XML Schema boolean data type. Whitespace MUST be collapsed according to the whiteSpace facet for the XML Schema boolean data type. An exception is thrown if, after whitespace is collapsed, the resulting sequence of characters is not in the lexical space defined by the XML Schema boolean data type.
getAttributeAsBoolean in interface TypedXMLStreamReaderindex - The attribute's index as returned by TypedXMLStreamReader.getAttributeIndex(String, String)
javax.xml.stream.XMLStreamException - If unable to convert the resulting
character sequence into an XML Schema boolean value.
public int getAttributeAsInt(int index)
throws javax.xml.stream.XMLStreamException
TypedXMLStreamReaderRead an attribute value as a boolean. The lexical representation of a boolean is defined by the XML Schema integer data type. Whitespace MUST be collapsed according to the whiteSpace facet for the type. An exception is thrown if, after whitespace is collapsed, the resulting sequence of characters is not in the lexical space defined by the XML Schema integer data type.
getAttributeAsInt in interface TypedXMLStreamReaderindex - The attribute's index as returned by TypedXMLStreamReader.getAttributeIndex(String, String)
javax.xml.stream.XMLStreamException - If unable to convert the resulting
character sequence into an XML Schema boolean value.
public long getAttributeAsLong(int index)
throws javax.xml.stream.XMLStreamException
TypedXMLStreamReaderRead an attribute value as a boolean. The lexical representation of a boolean is defined by the XML Schema long data type. Whitespace MUST be collapsed according to the whiteSpace facet for the type. An exception is thrown if, after whitespace is collapsed, the resulting sequence of characters is not in the lexical space defined by the XML Schema long data type.
getAttributeAsLong in interface TypedXMLStreamReaderindex - The attribute's index as returned by TypedXMLStreamReader.getAttributeIndex(String, String)
javax.xml.stream.XMLStreamException - If unable to convert the resulting
character sequence into an XML Schema boolean value.public java.lang.Object getFeature(java.lang.String name)
XMLStreamReader2
Note: although some feature names are shared with
XMLStreamReader2.setFeature(java.lang.String, java.lang.Object), not all are: some features are read-only,
some write-only
getFeature in interface XMLStreamReader2name - Name of the feature of which value to get
public void setFeature(java.lang.String name,
java.lang.Object value)
XMLStreamReader2
Note: although some feature names are shared with
XMLStreamReader2.getFeature(java.lang.String), not all are: some features are read-only,
some write-only
setFeature in interface XMLStreamReader2name - Name of the feature to setvalue - Value to set feature to.
public void skipElement()
throws javax.xml.stream.XMLStreamException
XMLStreamReader2IllegalStateException
is thrown); after the call the stream will point to the matching
END_ELEMENT event, having skipped zero or more intervening events
for the contents.
skipElement in interface XMLStreamReader2javax.xml.stream.XMLStreamException
public AttributeInfo getAttributeInfo()
throws javax.xml.stream.XMLStreamException
XMLStreamReader2IllegalStateException will be thrown.
getAttributeInfo in interface XMLStreamReader2javax.xml.stream.XMLStreamException
public int findAttributeIndex(java.lang.String nsURI,
java.lang.String localName)
findAttributeIndex in interface AttributeInfopublic int getIdAttributeIndex()
AttributeInfo
getIdAttributeIndex in interface AttributeInfopublic int getNotationAttributeIndex()
AttributeInfo
getNotationAttributeIndex in interface AttributeInfo
public DTDInfo getDTDInfo()
throws javax.xml.stream.XMLStreamException
DTDInfo, method can just
return this.
getDTDInfo in interface XMLStreamReader2javax.xml.stream.XMLStreamExceptionpublic final LocationInfo getLocationInfo()
getLocationInfo in interface XMLStreamReader2
public int getText(java.io.Writer w,
boolean preserveContents)
throws java.io.IOException,
javax.xml.stream.XMLStreamException
getText(), except
that it just uses provided Writer to write all textual content.
For further optimization, it may also be allowed to do true
pass-through, thus possibly avoiding one temporary copy of the
data.
TODO: try to optimize to allow completely streaming pass-through: currently will still read all data in memory buffers before outputting
getText in interface XMLStreamReader2w - Writer to use for writing textual contentspreserveContents - If true, reader has to preserve contents
so that further calls to getText will return
proper conntets. If false, reader is allowed to skip creation
of such copies: this can improve performance, but it also means
that further calls to getText is not guaranteed to
return meaningful data.
java.io.IOException
javax.xml.stream.XMLStreamExceptionpublic int getDepth()
XMLStreamReader2
getDepth in interface XMLStreamReader2
public boolean isEmptyElement()
throws javax.xml.stream.XMLStreamException
XMLStreamReader2
Note: method may need to read more data to know if the element
is an empty one, and as such may throw an i/o or parsing exception
(as XMLStreamException); however, it won't throw exceptions
for non-START_ELEMENT event types.
isEmptyElement in interface XMLStreamReader2javax.xml.stream.XMLStreamExceptionpublic javax.xml.namespace.NamespaceContext getNonTransientNamespaceContext()
XMLStreamReader2XMLStreamReader.getNamespaceContext(),
but one that is
not transient. That is, one that will remain valid and unchanged
after its creation. This allows the namespace context to be used
independent of its source documents life cycle. One possible use
case is to use this namespace context for 'initializing' writers
(especially ones that use repairing mode) with optimal/preferred name
space bindings.
getNonTransientNamespaceContext in interface XMLStreamReader2public java.lang.String getPrefixedName()
XMLStreamReader2
Note: implementations are encouraged to provide an implementation
that would be more efficient than calling getLocalName
and getPrefix separately, but are not required to do
so. Nonetheless it is usually at least as efficient (if not more)
to call this method as to do it fully in calling code.
getPrefixedName in interface XMLStreamReader2
public void closeCompletely()
throws javax.xml.stream.XMLStreamException
XMLStreamReader2XMLStreamReader.getNamespaceContext(),
except that this method also does close the underlying input
source if it has not yet been closed. It is generally preferable
to call this method if the parsing ends in an exception;
and for some input sources (when passing
a File or URL for factory
method) it has to be called as the application does not have
access to the actually input source (InputStream
opened from a URL and so on).
closeCompletely in interface XMLStreamReader2javax.xml.stream.XMLStreamExceptionpublic java.lang.Object getProcessedDTD()
getProcessedDTD in interface DTDInfopublic java.lang.String getDTDRootName()
getDTDRootName in interface DTDInfopublic java.lang.String getDTDPublicId()
getDTDPublicId in interface DTDInfopublic java.lang.String getDTDSystemId()
getDTDSystemId in interface DTDInfopublic java.lang.String getDTDInternalSubset()
getDTDInternalSubset in interface DTDInfopublic DTDValidationSchema getProcessedDTDSchema()
DTDInfoDTDInfo.getProcessedDTD(), but type-safe. Will
return the DTD schema instance that was read, if we are in mode
where it does get read (at least dtd-aware).
getProcessedDTDSchema in interface DTDInfopublic long getStartingByteOffset()
LocationInfo
Note: this value MAY be the same as the one returned by
LocationInfo.getStartingCharOffset(), but usually only for single-byte
character streams (Ascii, ISO-Latin).
getStartingByteOffset in interface LocationInfopublic long getStartingCharOffset()
LocationInfo
Note: this value MAY be the same as the one returned by
LocationInfo.getStartingByteOffset(); this is the case for single-byte
character streams (Ascii, ISO-Latin), as well as for streams for
which byte offset information is not available (Readers, Strings).
getStartingCharOffset in interface LocationInfo
public long getEndingByteOffset()
throws javax.xml.stream.XMLStreamException
LocationInfo
Note: this value MAY be the same as the one returned by
LocationInfo.getEndingCharOffset(), but usually only for single-byte
character streams (Ascii, ISO-Latin).
Note: for lazy-loading implementations, calling this method may require the underlying stream to be advanced and contents parsed; this is why it is possible that an exception be thrown.
getEndingByteOffset in interface LocationInfojavax.xml.stream.XMLStreamException
public long getEndingCharOffset()
throws javax.xml.stream.XMLStreamException
LocationInfo
Note: this value MAY be the same as the one returned by
LocationInfo.getEndingByteOffset(); this is the case for single-byte
character streams (Ascii, ISO-Latin), as well as for streams for
which byte offset information is not available (Readers, Strings).
Note: for lazy-loading implementations, calling this method may require the underlying stream to be advanced and contents parsed; this is why it is possible that an excep