org.w3c.tidy

Class ParserImpl


public final class ParserImpl
extends java.lang.Object

HTML Parser implementation.
Version:
$Revision: 806 $ ($Author: fgiust $)
Authors:
Dave Raggett dsr@w3.org
Andy Quick ac.quick@sympatico.ca (translation to Java)
Fabrizio Giustina

Nested Class Summary

static class
ParserImpl.ParseBlock
Parser for block elements.
static class
ParserImpl.ParseBody
Parser for BODY.
static class
ParserImpl.ParseColGroup
Parser for COLGROUP.
static class
ParserImpl.ParseDefList
Parser for DEFLIST.
static class
ParserImpl.ParseEmpty
Parser for empty elements.
static class
ParserImpl.ParseFrameSet
Parser for FRAMESET.
static class
ParserImpl.ParseHead
Parser for HEAD.
static class
ParserImpl.ParseHTML
Parser for HTML.
static class
ParserImpl.ParseInline
Parser for INLINE.
static class
ParserImpl.ParseList
Parser for LIST.
static class
ParserImpl.ParseNoFrames
Parser for NOFRAMES.
static class
ParserImpl.ParseOptGroup
Parser for OPTGROUP.
static class
ParserImpl.ParsePre
Parser for PRE.
static class
ParserImpl.ParseRow
Parser for ROW.
static class
ParserImpl.ParseRowGroup
Parser for ROWGROUP.
static class
ParserImpl.ParseScript
Parser for SCRIPT.
static class
ParserImpl.ParseSelect
Parser for SELECT.
static class
ParserImpl.ParseTableTag
Parser for TABLE.
static class
ParserImpl.ParseText
Parser for text nodes.
static class
ParserImpl.ParseTitle
Parser for TITLE.

Field Summary

static Parser
BLOCK
parser for block elements.
static Parser
BODY
parser for body.
static Parser
COLGROUP
parser for colgroup.
static Parser
DEFLIST
parser for definition lists.
static Parser
EMPTY
parser for empty elements.
static Parser
FRAMESET
parser for frameset.
static Parser
HEAD
parser for head.
static Parser
HTML
parser for html.
static Parser
INLINE
parser for inline.
static Parser
LIST
parser for list.
static Parser
NOFRAMES
parser for noframes.
static Parser
OPTGROUP
parser for optgroup.
static Parser
PRE
parser for pre.
static Parser
ROW
parser for row.
static Parser
ROWGROUP
parser for rowgroup.
static Parser
SCRIPT
parser for script.
static Parser
SELECT
parser for select.
static Parser
TABLETAG
parser for table.
static Parser
TEXT
parser for text.
static Parser
TITLE
parser for title.

Method Summary

static boolean
XMLPreserveWhiteSpace(Node element, TagTable tt)
Indicates whether or not whitespace should be preserved for this element.
protected static void
moveToHead(Lexer lexer, Node element, Node node)
Move node to the head, where element is used as starting point in hunt for head.
static Node
parseDocument(Lexer lexer)
HTML is the top level element.
protected static void
parseTag(Lexer lexer, Node node, short mode)
static Node
parseXMLDocument(Lexer lexer)
static void
parseXMLElement(Lexer lexer, Node element, short mode)
XML documents.

Field Details

BLOCK

public static final Parser BLOCK
parser for block elements.

BODY

public static final Parser BODY
parser for body.

COLGROUP

public static final Parser COLGROUP
parser for colgroup.

DEFLIST

public static final Parser DEFLIST
parser for definition lists.

EMPTY

public static final Parser EMPTY
parser for empty elements.

FRAMESET

public static final Parser FRAMESET
parser for frameset.

HEAD

public static final Parser HEAD
parser for head.

HTML

public static final Parser HTML
parser for html.

INLINE

public static final Parser INLINE
parser for inline.

LIST

public static final Parser LIST
parser for list.

NOFRAMES

public static final Parser NOFRAMES
parser for noframes.

OPTGROUP

public static final Parser OPTGROUP
parser for optgroup.

PRE

public static final Parser PRE
parser for pre.

ROW

public static final Parser ROW
parser for row.

ROWGROUP

public static final Parser ROWGROUP
parser for rowgroup.

SCRIPT

public static final Parser SCRIPT
parser for script.

SELECT

public static final Parser SELECT
parser for select.

TABLETAG

public static final Parser TABLETAG
parser for table.

TEXT

public static final Parser TEXT
parser for text.

TITLE

public static final Parser TITLE
parser for title.

Method Details

XMLPreserveWhiteSpace

public static boolean XMLPreserveWhiteSpace(Node element,
                                            TagTable tt)
Indicates whether or not whitespace should be preserved for this element. If an xml:space attribute is found, then if the attribute value is preserve, returns true. For any other value, returns false. If an xml:space attribute was not found, then the following element names result in a return value of true: pre, script, style, and xsl:text. Finally, if a TagTable was passed in and the element appears as the "pre" element in the TagTable, then true will be returned. Otherwise, false is returned.
Parameters:
element - The Node to test to see if whitespace should be preserved.
tt - The TagTable to test for the getNodePre() function. This may be null, in which case this test is bypassed.
Returns:
true or false, as explained above.

moveToHead

protected static void moveToHead(Lexer lexer,
                                 Node element,
                                 Node node)
Move node to the head, where element is used as starting point in hunt for head. Normally called during parsing.
Parameters:
lexer -
element -
node -

parseDocument

public static Node parseDocument(Lexer lexer)
HTML is the top level element.

parseTag

protected static void parseTag(Lexer lexer,
                               Node node,
                               short mode)
Parameters:
lexer -
node -
mode -

parseXMLDocument

public static Node parseXMLDocument(Lexer lexer)

parseXMLElement

public static void parseXMLElement(Lexer lexer,
                                   Node element,
                                   short mode)
XML documents.