org.opencms.json
Class XMLTokener

java.lang.Object
  extended by org.opencms.json.JSONTokener
      extended by org.opencms.json.XMLTokener

public class XMLTokener
extends JSONTokener

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

Version:
3
Author:
JSON.org

Field Summary
static java.util.HashMap ENTITY
          The table of ENTITY values.
 
Constructor Summary
XMLTokener(java.lang.String s)
          Construct an XMLTokener from a string.
 
Method Summary
 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 a)
          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 org.opencms.json.JSONTokener
back, dehexchar, 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 - if something goes wrong

nextEntity

public java.lang.Object nextEntity(char a)
                            throws JSONException
Return the next ENTITY. These entities are translated to Characters: & ' > < ".

Parameters:
a - 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
Returns:
the truth
Throws:
JSONException - if something goes wrong