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
static byte CONTENT
          element content was just read
static byte END_DOCUMENT
          signal logical end of xml document
static byte END_TAG
          end tag was just read
static byte START_TAG
          start tag was just read
 
Method Summary
 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 depth
 void readNamespacesUris(int depth, java.lang.String[] uris, int off, int len)
          Return namespace URIs for element at depth
 byte 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 Namespaces
 byte skipNode()
          Goes directly to the next sibling
 

Field Detail

END_DOCUMENT

public static final byte END_DOCUMENT
signal logical end of xml document

See Also:
Constant Field Values

START_TAG

public static final byte START_TAG
start tag was just read

See Also:
Constant Field Values

END_TAG

public static final byte END_TAG
end tag was just read

See Also:
Constant Field Values

CONTENT

public static final byte CONTENT
element content was just read

See Also:
Constant Field Values
Method Detail

setInput

public void setInput(java.io.Reader in)
              throws XmlPullParserException
Set the input for parser.

Throws:
XmlPullParserException

setInput

public void setInput(char[] buf)
              throws XmlPullParserException
Set the input for parser.

Throws:
XmlPullParserException

setInput

public void setInput(char[] buf,
                     int off,
                     int len)
              throws XmlPullParserException
Set the input for parser.

Throws:
XmlPullParserException

reset

public void reset()
           throws XmlPullParserException
Reset the parser state.

Throws:
XmlPullParserException

isAllowedMixedContent

public boolean isAllowedMixedContent()
Is mixed element context allowed?


setAllowedMixedContent

public 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

public boolean isNamespaceAware()
Is parser namespace aware?


setNamespaceAware

public void setNamespaceAware(boolean enable)
                       throws XmlPullParserException
Indicate that the parser understands XML Namespaces

NOTE: this is not resetable parameter.

Throws:
XmlPullParserException

isNamespaceAttributesReporting

public boolean isNamespaceAttributesReporting()
Is parser going to report namespace attributes (xmlns*) ?


setNamespaceAttributesReporting

public 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

public 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

public java.lang.String getLocalName()
Returns the local name of the current element (current event must be START_TAG or END_TAG)


getPrefix

public 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

public java.lang.String getRawName()
Returns the raw name (prefix + ':' + localName) of the current element (current event must be START_TAG or END_TAG)


getQNameLocal

public 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

public 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

public int getDepth()
Returns the current depth of the element.


getNamespacesLength

public int getNamespacesLength(int depth)

readNamespacesPrefixes

public void readNamespacesPrefixes(int depth,
                                   java.lang.String[] prefixes,
                                   int off,
                                   int len)
                            throws XmlPullParserException
Return namespace prefixes for element at depth

Throws:
XmlPullParserException

readNamespacesUris

public void readNamespacesUris(int depth,
                               java.lang.String[] uris,
                               int off,
                               int len)
                        throws XmlPullParserException
Return namespace URIs for element at depth

Throws:
XmlPullParserException

getPosDesc

public java.lang.String getPosDesc()

getLineNumber

public int getLineNumber()

getColumnNumber

public int getColumnNumber()

next

public 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

public byte getEventType()
                  throws XmlPullParserException
Returns the type of the current element (START_TAG, END_TAG, CONTENT, etc)

Throws:
XmlPullParserException

isWhitespaceContent

public boolean isWhitespaceContent()
                            throws XmlPullParserException
Check if last CONTENT contained only whitespace characters.

Throws:
XmlPullParserException

getContentLength

public int getContentLength()
                     throws XmlPullParserException
Return how big is content.

NOTE: parser must be on CONTENT event.

Throws:
XmlPullParserException

readContent

public java.lang.String readContent()
                             throws XmlPullParserException
Read current content as Stirng.

NOTE: parser must be on CONTENT event.

Throws:
XmlPullParserException

readEndTag

public void readEndTag(XmlEndTag etag)
                throws XmlPullParserException
Read current end tag.

NOTE: parser must be on END_TAG event.

Throws:
XmlPullParserException

readStartTag

public void readStartTag(XmlStartTag stag)
                  throws XmlPullParserException
Read current start tag.

NOTE: parser must be on START_TAG event.

Throws:
XmlPullParserException

readNodeWithoutChildren

public 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

public 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

public byte skipNode()
              throws XmlPullParserException,
                     java.io.IOException
Goes directly to the next sibling

NOTE: parser must be on START_TAG event. and all intermittent events will be lost!

Throws:
XmlPullParserException
java.io.IOException


Copyright (c) 2003 IU Extreme! Lab http://www.extreme.indiana.edu/ All Rights Reserved.

Note this package is deprecated by XPP3 that implements XmlPull API