superwaba.ext.xplat.util.xml
Class XmlLiteParser

java.lang.Object
  |
  +--superwaba.ext.xplat.util.xml.XmlLiteParser
Direct Known Subclasses:
HttpXmlLiteParser

public class XmlLiteParser
extends Object

This is a fast and simple parser for a lite version of XML format. You can use this parser with SuperWaba VM to parse data from an open Stream.

The parser looks for:

When the parser finds these elements it calls respectively:

The parsing algorithm is based on DFA (Deterministic Finite Automata) theory and Regular Expression theory. See the following schema:

In order to use this parser you need to extend the XmlListener class and override the above methods. To start parsing, call the method parse(byte inputBytes, int length).

See also superwaba/examples/util/xml.


Field Summary
protected  XmlListener listener
          Listener of this parser
protected  int pos
          pos in buffer
protected  int state
          current state
 
Constructor Summary
XmlLiteParser(XmlListener listener)
           
 
Method Summary
 void parse(byte[] input, int size)
          This method parses the given array of bytes.
protected  void parseBuffer(byte[] input, int size)
          This method does the actual parsing and call backs working for the current values of pos, len, start and state.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, toString, wait, wait
 

Field Detail

listener

protected XmlListener listener
Listener of this parser

state

protected int state
current state

pos

protected int pos
pos in buffer
Constructor Detail

XmlLiteParser

public XmlLiteParser(XmlListener listener)
Method Detail

parse

public void parse(byte[] input,
                  int size)
           throws ParserException
This method parses the given array of bytes. The algorithm is based on DFA (Deterministic Finite Automata) theory and Regular Expression theory.
Parameters:
input - The input byte array.
size - The size of bytes to be parsed. Normally should be input.length

parseBuffer

protected void parseBuffer(byte[] input,
                           int size)
                    throws ParserException
This method does the actual parsing and call backs working for the current values of pos, len, start and state. It is called by parse(byte[],int) and may be called by derived XmlLiteParsers. atn
Parameters:
size -  
Throws:
ParserException -