cc.funkemunky.api.utils.json

## Class XMLTokener

- java.lang.Object
- - cc.funkemunky.api.utils.json.JSONTokener
  - - cc.funkemunky.api.utils.json.XMLTokener

    public class XMLTokener
    extends JSONTokener

The XMLTokener extends the JSONTokener to provide additional methods for the parsing of XML texts.

### Field Summary

Fields
`static java.util.HashMap` `entity` The table of entity values.

### Constructor Summary

Constructors
Constructor and Description
`XMLTokener(java.lang.String s)` Construct an XMLTokener from a string.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `nextCDATA()` Get the text in the CDATA block.
`java.lang.Object` `nextContent()` Get the next XML outer token, trimming whitespace.
`java.lang.Object` `nextEntity(char ampersand)` Return the next entity.
`java.lang.Object` `nextMeta()` Returns the next XML meta token.
`java.lang.Object` `nextToken()` Get the next XML Token.
`boolean` `skipPast(java.lang.String to)` Skip characters until past the requested string.

### Methods inherited from class cc.funkemunky.api.utils.json.JSONTokener

`back, dehexchar, end, more, next, next, next, nextClean, nextString, nextTo, nextTo, nextValue, skipTo, syntaxError, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### entity

    public static final java.util.HashMap entity

The table of entity values. It initially contains Character values for amp, apos, gt, lt, quot.

### Constructor Detail

#### XMLTokener

    public XMLTokener(java.lang.String s)

Construct an XMLTokener from a string.

Parameters:
  `s` - A source string.

### Method Detail

#### nextCDATA

    public java.lang.String nextCDATA()
                               throws JSONException

Get the text in the CDATA block.

Returns:
  The string up to the `]]>`.
Throws:
  `JSONException` - If the `]]>` is not found.

#### nextContent

    public java.lang.Object nextContent()
                                 throws JSONException

Get the next XML outer token, trimming whitespace. There are two kinds of tokens: the '<' character which begins a markup tag, and the content text between markup tags.

Returns:
  A string, or a '<' Character, or null if there is no more source text.
Throws:
  `JSONException`

#### nextEntity

    public java.lang.Object nextEntity(char ampersand)
                                throws JSONException

Return the next entity. These entities are translated to Characters: `& ' > < "`.

Parameters:
  `ampersand` - An ampersand character.
Returns:
  A Character or an entity String if the entity is not recognized.
Throws:
  `JSONException` - If missing ';' in XML entity.

#### nextMeta

    public java.lang.Object nextMeta()
                              throws JSONException

Returns the next XML meta token. This is used for skipping over and structures.

Returns:
  Syntax characters (`< > / = ! ?`) are returned as Character, and strings and names are returned as Boolean. We don't care what the values actually are.
Throws:
  `JSONException` - If a string is not properly closed or if the XML is badly structured.

#### nextToken

    public java.lang.Object nextToken()
                               throws JSONException

Get the next XML Token. These tokens are found inside of angle brackets. It may be one of these characters: `/ > = ! ?` or it may be a string wrapped in single quotes or double quotes, or it may be a name.

Returns:
  a String or a Character.
Throws:
  `JSONException` - If the XML is not well formed.

#### skipPast

    public boolean skipPast(java.lang.String to)
                     throws JSONException

Skip characters until past the requested string. If it is not found, we are left at the end of the source with a result of false.

Parameters:
  `to` - A string to skip past.
Throws:
  `JSONException`