Package org.gjt.xpp

Interface XmlPullParser

    • Field Summary

      Fields 
      Modifier and Type Field Description
      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

      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 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
    • Method Detail

      • 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?
      • 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)
      • 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
      • 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
      • 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 sibling

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

        Throws:
        XmlPullParserException
        java.io.IOException