Package org.gjt.xpp
Interface XmlPullParser
-
public interface XmlPullParser
Generic interface for simple and quick XML Pull Parser.- Author:
- Aleksander Slominski
- See Also:
XmlPullParserFactory
-
-
Field Summary
Fields Modifier and Type Field Description static byte
CONTENT
element content was just readstatic byte
END_DOCUMENT
signal logical end of xml documentstatic byte
END_TAG
end tag was just readstatic byte
START_TAG
start tag was just read
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getColumnNumber()
int
getContentLength()
Return how big is content.int
getDepth()
Returns the current depth of the element.byte
getEventType()
Returns the type of the current element (START_TAG, END_TAG, CONTENT, etc)int
getLineNumber()
java.lang.String
getLocalName()
Returns the local name of the current element (current event must be START_TAG or END_TAG)int
getNamespacesLength(int depth)
java.lang.String
getNamespaceUri()
Returns the namespace URI of the current element Returns null if not applicable (current event must be START_TAG or END_TAG)java.lang.String
getPosDesc()
java.lang.String
getPrefix()
Returns the prefix of the current element or null if elemet has no prefix.java.lang.String
getQNameLocal(java.lang.String qName)
Return local part of qname.java.lang.String
getQNameUri(java.lang.String qName)
Return uri part of qname.java.lang.String
getRawName()
Returns the raw name (prefix + ':' + localName) of the current element (current event must be START_TAG or END_TAG)boolean
isAllowedMixedContent()
Is mixed element context allowed?boolean
isNamespaceAttributesReporting()
Is parser going to report namespace attributes (xmlns*) ?boolean
isNamespaceAware()
Is parser namespace aware?boolean
isWhitespaceContent()
Check if last CONTENT contained only whitespace characters.byte
next()
Get next parsing event.java.lang.String
readContent()
Read current content as Stirng.void
readEndTag(XmlEndTag etag)
Read current end tag.void
readNamespacesPrefixes(int depth, java.lang.String[] prefixes, int off, int len)
Return namespace prefixes for element at depthvoid
readNamespacesUris(int depth, java.lang.String[] uris, int off, int len)
Return namespace URIs for element at depthbyte
readNode(XmlNode node)
Read subtree into node: call readNodeWithoutChildren and then parse subtree adding children (values obtained with readXontent or readNodeWithoutChildren).void
readNodeWithoutChildren(XmlNode node)
Read node: it calls readStartTag and then if parser is namespaces aware currently declared nemaspeces will be added and defaultNamespace will be set.void
readStartTag(XmlStartTag stag)
Read current start tag.void
reset()
Reset the parser state.void
setAllowedMixedContent(boolean enable)
Allow for mixed element content.void
setInput(char[] buf)
Set the input for parser.void
setInput(char[] buf, int off, int len)
Set the input for parser.void
setInput(java.io.Reader in)
Set the input for parser.void
setNamespaceAttributesReporting(boolean enable)
Make parser to report xmlns* attributes.void
setNamespaceAware(boolean enable)
Indicate that the parser understands XML Namespacesbyte
skipNode()
Goes directly to the next sibling
-
-
-
Field Detail
-
END_DOCUMENT
static final byte END_DOCUMENT
signal logical end of xml document- See Also:
- Constant Field Values
-
START_TAG
static final byte START_TAG
start tag was just read- See Also:
- Constant Field Values
-
END_TAG
static final byte END_TAG
end tag was just read- See Also:
- Constant Field Values
-
CONTENT
static final byte CONTENT
element content was just read- See Also:
- Constant Field Values
-
-
Method Detail
-
setInput
void setInput(java.io.Reader in) throws XmlPullParserException
Set the input for parser.- Throws:
XmlPullParserException
-
setInput
void setInput(char[] buf) throws XmlPullParserException
Set the input for parser.- Throws:
XmlPullParserException
-
setInput
void setInput(char[] buf, int off, int len) throws XmlPullParserException
Set the input for parser.- Throws:
XmlPullParserException
-
reset
void reset() throws XmlPullParserException
Reset the parser state.- Throws:
XmlPullParserException
-
isAllowedMixedContent
boolean isAllowedMixedContent()
Is mixed element context allowed?
-
setAllowedMixedContent
void setAllowedMixedContent(boolean enable) throws XmlPullParserException
Allow for mixed element content. Disabled by default. When disbaled element must containt either text or other elements.NOTE: this is not resetable parameter.
- Throws:
XmlPullParserException
-
isNamespaceAware
boolean isNamespaceAware()
Is parser namespace aware?
-
setNamespaceAware
void setNamespaceAware(boolean enable) throws XmlPullParserException
Indicate that the parser understands XML NamespacesNOTE: this is not resetable parameter.
- Throws:
XmlPullParserException
-
isNamespaceAttributesReporting
boolean isNamespaceAttributesReporting()
Is parser going to report namespace attributes (xmlns*) ?
-
setNamespaceAttributesReporting
void setNamespaceAttributesReporting(boolean enable) throws XmlPullParserException
Make parser to report xmlns* attributes. Disabled by default. Only meaningful when namespaces are enabled (when namespaces are disabled all attributes are always reported).- Throws:
XmlPullParserException
-
getNamespaceUri
java.lang.String getNamespaceUri()
Returns the namespace URI of the current element Returns null if not applicable (current event must be START_TAG or END_TAG)
-
getLocalName
java.lang.String getLocalName()
Returns the local name of the current element (current event must be START_TAG or END_TAG)
-
getPrefix
java.lang.String getPrefix()
Returns the prefix of the current element or null if elemet has no prefix. (current event must be START_TAG or END_TAG)
-
getRawName
java.lang.String getRawName()
Returns the raw name (prefix + ':' + localName) of the current element (current event must be START_TAG or END_TAG)
-
getQNameLocal
java.lang.String getQNameLocal(java.lang.String qName) throws XmlPullParserException
Return local part of qname. For example for 'xsi:type' it returns 'type'.- Throws:
XmlPullParserException
-
getQNameUri
java.lang.String getQNameUri(java.lang.String qName) throws XmlPullParserException
Return uri part of qname. It is depending on current state of parser to find what namespace uri is mapped from namespace prefix. For example for 'xsi:type' if xsi namespace prefix was declared to 'urn:foo' it will return 'urn:foo'.- Throws:
XmlPullParserException
-
getDepth
int getDepth()
Returns the current depth of the element.
-
getNamespacesLength
int getNamespacesLength(int depth)
-
readNamespacesPrefixes
void readNamespacesPrefixes(int depth, java.lang.String[] prefixes, int off, int len) throws XmlPullParserException
Return namespace prefixes for element at depth- Throws:
XmlPullParserException
-
readNamespacesUris
void readNamespacesUris(int depth, java.lang.String[] uris, int off, int len) throws XmlPullParserException
Return namespace URIs for element at depth- Throws:
XmlPullParserException
-
getPosDesc
java.lang.String getPosDesc()
-
getLineNumber
int getLineNumber()
-
getColumnNumber
int getColumnNumber()
-
next
byte next() throws XmlPullParserException, java.io.IOException
Get next parsing event.NOTE: empty element (such as <tag/>) will be reported with just two events: START_TAG, END_TAG - it must be so to preserve parsing equivalency of empty element to <tag></tag>.
- Throws:
XmlPullParserException
java.io.IOException
-
getEventType
byte getEventType() throws XmlPullParserException
Returns the type of the current element (START_TAG, END_TAG, CONTENT, etc)- Throws:
XmlPullParserException
-
isWhitespaceContent
boolean isWhitespaceContent() throws XmlPullParserException
Check if last CONTENT contained only whitespace characters.- Throws:
XmlPullParserException
-
getContentLength
int getContentLength() throws XmlPullParserException
Return how big is content.NOTE: parser must be on CONTENT event.
- Throws:
XmlPullParserException
-
readContent
java.lang.String readContent() throws XmlPullParserException
Read current content as Stirng.NOTE: parser must be on CONTENT event.
- Throws:
XmlPullParserException
-
readEndTag
void readEndTag(XmlEndTag etag) throws XmlPullParserException
Read current end tag.NOTE: parser must be on END_TAG event.
- Throws:
XmlPullParserException
-
readStartTag
void readStartTag(XmlStartTag stag) throws XmlPullParserException
Read current start tag.NOTE: parser must be on START_TAG event.
- Throws:
XmlPullParserException
-
readNodeWithoutChildren
void readNodeWithoutChildren(XmlNode node) throws XmlPullParserException
Read node: it calls readStartTag and then if parser is namespaces aware currently declared nemaspeces will be added and defaultNamespace will be set.NOTE: parser must be on START_TAG event. and all events will written into node!
- Throws:
XmlPullParserException
-
readNode
byte readNode(XmlNode node) throws XmlPullParserException, java.io.IOException
Read subtree into node: call readNodeWithoutChildren and then parse subtree adding children (values obtained with readXontent or readNodeWithoutChildren).NOTE: parser must be on START_TAG event. and all events will written into node!
- Throws:
XmlPullParserException
java.io.IOException
-
skipNode
byte skipNode() throws XmlPullParserException, java.io.IOException
Goes directly to the next siblingNOTE: parser must be on START_TAG event. and all intermittent events will be lost!
- Throws:
XmlPullParserException
java.io.IOException
-
-