Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

javax.swing.text.html.parser
Class DocumentParser  view DocumentParser download DocumentParser.java

java.lang.Object
  extended byjavax.swing.text.html.parser.Parser
      extended byjavax.swing.text.html.parser.DocumentParser
All Implemented Interfaces:
DTDConstants

public class DocumentParser
extends Parser
implements DTDConstants

A simple error-tolerant HTML parser that uses a DTD document to access data on the possible tokens, arguments and syntax.

The parser reads an HTML content from a Reader and calls various notifying methods (which should be overridden in a subclass) when tags or data are encountered.

Some HTML elements need no opening or closing tags. The task of this parser is to invoke the tag handling methods also when the tags are not explicitly specified and must be supposed using information, stored in the DTD. For example, parsing the document

<table><tr><td>a<td>b<td>c</tr>
will invoke exactly the handling methods exactly in the same order (and with the same parameters) as if parsing the document:
<html><head></head><body><table>< tbody><tr><td>a</td><td>b </td><td>c</td></tr>< /tbody></table></body></html>

(supposed tags are given in italics). The parser also supports obsolete elements of HTML syntax.

In this implementation, DocumentParser is directly derived from its ancestor without changes of functionality.


Nested Class Summary
private  class DocumentParser.gnuParser
          The enclosed working parser class.
 
Field Summary
(package private)  javax.swing.text.html.HTMLEditorKit.ParserCallback callBack
          The callback.
(package private)  DocumentParser.gnuParser gnu
          The reference to the working class of HTML parser that is actually used to parse the document.
(package private)  DocumentParser parser
          This field is used to access the identically named methods of the outer class.
 
Fields inherited from class javax.swing.text.html.parser.Parser
dtd, strict
 
Fields inherited from interface javax.swing.text.html.parser.DTDConstants
ANY, CDATA, CONREF, CURRENT, DEFAULT, EMPTY, ENDTAG, ENTITIES, ENTITY, FIXED, GENERAL, ID, IDREF, IDREFS, IMPLIED, MD, MODEL, MS, NAME, NAMES, NMTOKEN, NMTOKENS, NOTATION, NUMBER, NUMBERS, NUTOKEN, NUTOKENS, PARAMETER, PI, PUBLIC, RCDATA, REQUIRED, SDATA, STARTTAG, SYSTEM
 
Constructor Summary
DocumentParser(DTD a_dtd)
          Creates a new parser that uses the given DTD to access data on the possible tokens, arguments and syntax.
 
Method Summary
protected  void handleComment(char[] comment)
          Handle HTML comment.
protected  void handleEmptyTag(TagElement tag)
          Handle the tag with no content, like <br>.
protected  void handleEndTag(TagElement tag)
          The method is called when the HTML closing tag ((like </table>) is found or if the parser concludes that the one should be present in the current position.
protected  void handleError(int line, java.lang.String message)
           
protected  void handleStartTag(TagElement tag)
          The method is called when the HTML opening tag ((like <table>) is found or if the parser concludes that the one should be present in the current position.
protected  void handleText(char[] text)
          Handle the text section.
 void parse(java.io.Reader reader, javax.swing.text.html.HTMLEditorKit.ParserCallback aCallback, boolean ignoreCharSet)
          Parses the HTML document, calling methods of the provided callback.
 
Methods inherited from class javax.swing.text.html.parser.Parser
endTag, error, error, error, error, flushAttributes, getAttributes, getCurrentLine, getCurrentPos, handleEOFInComment, handleTitle, makeTag, makeTag, markFirstTime, parse, parseDTDMarkup, parseMarkupDeclarations, startTag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parser

DocumentParser parser
This field is used to access the identically named methods of the outer class. This is package-private to avoid an accessor method.


callBack

javax.swing.text.html.HTMLEditorKit.ParserCallback callBack
The callback. This is package-private to avoid an accessor method.


gnu

DocumentParser.gnuParser gnu
The reference to the working class of HTML parser that is actually used to parse the document. This is package-private to avoid an accessor method.

Constructor Detail

DocumentParser

public DocumentParser(DTD a_dtd)
Creates a new parser that uses the given DTD to access data on the possible tokens, arguments and syntax. There is no single - step way to get a default DTD; you must either refer to the implementation - specific packages, write your own DTD or obtain the working instance of parser in other way, for example, by calling HTMLEditorKit.getParser()>HTMLEditorKit.getParser() 55 .

Method Detail

parse

public void parse(java.io.Reader reader,
                  javax.swing.text.html.HTMLEditorKit.ParserCallback aCallback,
                  boolean ignoreCharSet)
           throws java.io.IOException
Parses the HTML document, calling methods of the provided callback. This method must be multithread - safe.


handleComment

protected void handleComment(char[] comment)
Handle HTML comment. The default method returns without action.

Overrides:
handleComment in class Parser

handleEmptyTag

protected void handleEmptyTag(TagElement tag)
                       throws javax.swing.text.ChangedCharSetException
Handle the tag with no content, like <br>. The method is called for the elements that, in accordance with the current DTD, has an empty content.

Overrides:
handleEmptyTag in class Parser

handleEndTag

protected void handleEndTag(TagElement tag)
The method is called when the HTML closing tag ((like </table>) is found or if the parser concludes that the one should be present in the current position.

Overrides:
handleEndTag in class Parser

handleError

protected void handleError(int line,
                           java.lang.String message)
Overrides:
handleError in class Parser

handleStartTag

protected void handleStartTag(TagElement tag)
The method is called when the HTML opening tag ((like <table>) is found or if the parser concludes that the one should be present in the current position.

Overrides:
handleStartTag in class Parser

handleText

protected void handleText(char[] text)
Handle the text section.

Overrides:
handleText in class Parser