|
![]() |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.lowagie.text.xml.simpleparser.SimpleXMLParser
public final class SimpleXMLParser
A simple XML and HTML parser. This parser is, like the SAX parser, an event based parser, but with much less functionality.
The parser can:
<[CDATA[ ... ]]>
construct
\r\n
and \r
to \n
on input, in accordance with the XML Specification, Section 2.11
Field Summary | |
---|---|
private static int |
ATTRIBUTE_EQUAL
|
private static int |
ATTRIBUTE_KEY
|
private static int |
ATTRIBUTE_VALUE
|
(package private) String |
attributekey
the attribute key. |
(package private) HashMap |
attributes
current attributes |
(package private) String |
attributevalue
the attribute value. |
private static int |
CDATA
|
(package private) int |
character
The current character. |
(package private) int |
columns
the column where the current character occurs |
(package private) SimpleXMLDocHandlerComment |
comment
The handler to which we are going to forward comments. |
private static int |
COMMENT
|
(package private) SimpleXMLDocHandler |
doc
The handler to which we are going to forward document content |
(package private) StringBuffer |
entity
current entity (whatever is encountered between & and ;) |
private static int |
ENTITY
|
(package private) boolean |
eol
was the last character equivalent to a newline? |
private static int |
EXAMIN_TAG
|
(package private) boolean |
html
Are we parsing HTML? |
private static int |
IN_CLOSETAG
|
(package private) int |
lines
the line we are currently reading |
(package private) int |
nested
Keeps track of the number of tags that are open. |
(package private) boolean |
nowhite
A boolean indicating if the next character should be taken into account if it's a space character. |
private static int |
PI
|
(package private) int |
previousCharacter
The previous character. |
private static int |
QUOTE
|
(package private) int |
quoteCharacter
the quote character that was used to open the quote. |
private static int |
SINGLE_TAG
|
(package private) Stack |
stack
the state stack |
(package private) int |
state
the current state |
(package private) String |
tag
current tagname |
private static int |
TAG_ENCOUNTERED
|
private static int |
TAG_EXAMINED
|
(package private) StringBuffer |
text
current text (whatever is encountered between tags) |
private static int |
TEXT
|
private static int |
UNKNOWN
possible states |
Constructor Summary | |
---|---|
private |
SimpleXMLParser(SimpleXMLDocHandler doc,
SimpleXMLDocHandlerComment comment,
boolean html)
Creates a Simple XML parser object. |
Method Summary | |
---|---|
private void |
doTag()
Sets the name of the tag. |
static String |
escapeXML(String s,
boolean onlyASCII)
Escapes a string with the appropriated XML codes. |
private void |
flush()
Flushes the text that is currently in the buffer. |
private static String |
getDeclaredEncoding(String decl)
|
private static String |
getEncodingName(byte[] b4)
Returns the IANA encoding name that is auto-detected from the bytes specified, with the endian-ness of that encoding where appropriate. |
private void |
go(Reader r)
Does the actual parsing. |
private void |
initTag()
Initialized the tag name and attributes. |
static void |
parse(SimpleXMLDocHandler doc,
InputStream in)
Parses the XML document firing the events to the handler. |
static void |
parse(SimpleXMLDocHandler doc,
Reader r)
|
static void |
parse(SimpleXMLDocHandler doc,
SimpleXMLDocHandlerComment comment,
Reader r,
boolean html)
Parses the XML document firing the events to the handler. |
private void |
processTag(boolean start)
processes the tag. |
private int |
restoreState()
Gets a state from the stack |
private void |
saveState(int s)
Adds a state to the stack. |
private void |
throwException(String s)
Throws an exception |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final int UNKNOWN
private static final int TEXT
private static final int TAG_ENCOUNTERED
private static final int EXAMIN_TAG
private static final int TAG_EXAMINED
private static final int IN_CLOSETAG
private static final int SINGLE_TAG
private static final int CDATA
private static final int COMMENT
private static final int PI
private static final int ENTITY
private static final int QUOTE
private static final int ATTRIBUTE_KEY
private static final int ATTRIBUTE_EQUAL
private static final int ATTRIBUTE_VALUE
Stack stack
int character
int previousCharacter
int lines
int columns
boolean eol
boolean nowhite
int state
boolean html
StringBuffer text
StringBuffer entity
String tag
HashMap attributes
SimpleXMLDocHandler doc
SimpleXMLDocHandlerComment comment
int nested
int quoteCharacter
String attributekey
String attributevalue
Constructor Detail |
---|
private SimpleXMLParser(SimpleXMLDocHandler doc, SimpleXMLDocHandlerComment comment, boolean html)
Method Detail |
---|
private void go(Reader r) throws IOException
IOException
private int restoreState()
private void saveState(int s)
s
- a state to add to the stackprivate void flush()
private void initTag()
private void doTag()
private void processTag(boolean start)
start
- if true we are dealing with a tag that has just been opened; if false we are closing a tag.private void throwException(String s) throws IOException
IOException
public static void parse(SimpleXMLDocHandler doc, SimpleXMLDocHandlerComment comment, Reader r, boolean html) throws IOException
doc
- the document handlerr
- the document. The encoding is already resolved. The reader is not closed
IOException
- on errorpublic static void parse(SimpleXMLDocHandler doc, InputStream in) throws IOException
doc
- the document handlerin
- the document. The encoding is deduced from the stream. The stream is not closed
IOException
- on errorprivate static String getDeclaredEncoding(String decl)
public static void parse(SimpleXMLDocHandler doc, Reader r) throws IOException
IOException
public static String escapeXML(String s, boolean onlyASCII)
s
- the string to be escapedonlyASCII
- codes above 127 will always be escaped with &#nn; if true
private static String getEncodingName(byte[] b4)
b4
- The first four bytes of the input.
|
Hosted by Hostbasket | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |