nu.validator.htmlparser.common
Interface TokenHandler

All Known Implementing Classes:
CoalescingTreeBuilder, DOMTreeBuilder, SAXStreamer, SAXTreeBuilder, TreeBuilder, XOMTreeBuilder

public interface TokenHandler

Tokenizer reports tokens through this interface.

Version:
$Id: TokenHandler.java 404 2008-08-12 09:28:14Z hsivonen $
Author:
hsivonen

Method Summary
 void characters(char[] buf, int start, int length)
          Receive character tokens.
 void comment(char[] buf, int start, int length)
          Receive a comment token.
 void doctype(String name, String publicIdentifier, String systemIdentifier, boolean forceQuirks)
          Receive a doctype token.
 void endTag(ElementName eltName)
          Receive an end tag token.
 void endTokenization()
          The perform final cleanup.
 void eof()
          The end-of-file token.
 boolean inForeign()
          Checks if the handler is in foreign content.
 void startTag(ElementName eltName, HtmlAttributes attributes, boolean selfClosing)
          Receive a start tag token.
 void startTokenization(Tokenizer self)
          This method is called at the start of tokenization before any other methods on this interface are called.
 boolean wantsComments()
          If this handler implementation cares about comments, return true.
 

Method Detail

startTokenization

void startTokenization(Tokenizer self)
                       throws SAXException
This method is called at the start of tokenization before any other methods on this interface are called. Implementations should hold the reference to the Tokenizer in order to set the content model flag and in order to be able to query for Locator data.

Parameters:
self - the Tokenizer.
Throws:
SAXException - if something went wrong

wantsComments

boolean wantsComments()
                      throws SAXException
If this handler implementation cares about comments, return true. If not, return false.

Returns:
whether this handler wants comments
Throws:
SAXException - if something went wrong

doctype

void doctype(String name,
             String publicIdentifier,
             String systemIdentifier,
             boolean forceQuirks)
             throws SAXException
Receive a doctype token.

Parameters:
name - the name
publicIdentifier - the public id
systemIdentifier - the system id
forceQuirks - whether the token is correct
Throws:
SAXException - if something went wrong

startTag

void startTag(ElementName eltName,
              HtmlAttributes attributes,
              boolean selfClosing)
              throws SAXException
Receive a start tag token.

Parameters:
eltName - the tag name
attributes - the attributes
selfClosing - TODO
Throws:
SAXException - if something went wrong

endTag

void endTag(ElementName eltName)
            throws SAXException
Receive an end tag token.

Parameters:
eltName - the tag name
Throws:
SAXException - if something went wrong

comment

void comment(char[] buf,
             int start,
             int length)
             throws SAXException
Receive a comment token. The data is junk if the wantsComments() returned false.

Parameters:
buf - a buffer holding the data
start - the offset into the buffer
length - the number of code units to read
Throws:
SAXException - if something went wrong

characters

void characters(char[] buf,
                int start,
                int length)
                throws SAXException
Receive character tokens. This method has the same semantics as the SAX method of the same name.

Parameters:
buf - a buffer holding the data
start - offset into the buffer
length - the number of code units to read
Throws:
SAXException - if something went wrong
See Also:
ContentHandler.characters(char[], int, int)

eof

void eof()
         throws SAXException
The end-of-file token.

Throws:
SAXException - if something went wrong

endTokenization

void endTokenization()
                     throws SAXException
The perform final cleanup.

Throws:
SAXException - if something went wrong

inForeign

boolean inForeign()
                  throws SAXException
Checks if the handler is in foreign content.

Returns:
true if in foreign content and false otherwise.
Throws:
SAXException - if something went wrong