Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

- start-tag name,
- end-tag name,
- attribute name,
- attribute value,
- content between a start-tag and an end-tag.

When the parser finds these elements it calls respectively:

- `foundStartTagName();`
- `foundEndTagName();`
- `foundAttributeName();`
- `foundAttributeValue();`
- `foundContent();`

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 -

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD