Package org.gjt.xpp

Interface XmlPullParser

All Known Implementing Classes:
PullParser, X2PullParser

public interface XmlPullParser
Generic interface for simple and quick XML Pull Parser.
Author:
Aleksander Slominski
See Also:
  • Field Details

  • Method Details

    • setInput

      void setInput(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 Namespaces

      NOTE: 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

      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

      String getLocalName()
      Returns the local name of the current element (current event must be START_TAG or END_TAG)
    • getPrefix

      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

      String getRawName()
      Returns the raw name (prefix + ':' + localName) of the current element (current event must be START_TAG or END_TAG)
    • getQNameLocal

      String getQNameLocal(String qName) throws XmlPullParserException
      Return local part of qname. For example for 'xsi:type' it returns 'type'.
      Throws:
      XmlPullParserException
    • getQNameUri

      String getQNameUri(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, String[] prefixes, int off, int len) throws XmlPullParserException
      Return namespace prefixes for element at depth
      Throws:
      XmlPullParserException
    • readNamespacesUris

      void readNamespacesUris(int depth, String[] uris, int off, int len) throws XmlPullParserException
      Return namespace URIs for element at depth
      Throws:
      XmlPullParserException
    • getPosDesc

      String getPosDesc()
    • getLineNumber

      int getLineNumber()
    • getColumnNumber

      int getColumnNumber()
    • next

      byte next() throws XmlPullParserException, 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
      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

      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, 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
      IOException
    • skipNode

      byte skipNode() throws XmlPullParserException, IOException
      Goes directly to the next sibling

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

      Throws:
      XmlPullParserException
      IOException