fi.iki.hsivonen.htmlparser
Class TagInferenceFilter

java.lang.Object
  extended by fi.iki.hsivonen.xml.ContentHandlerFilter
      extended by fi.iki.hsivonen.htmlparser.TagInferenceFilter
All Implemented Interfaces:
ContentHandler

public final class TagInferenceFilter
extends ContentHandlerFilter

Version:
$Id: TagInferenceFilter.java,v 1.7 2006/04/18 11:50:40 hsivonen Exp $
Author:
hsivonen

Field Summary
private static String[][] END_CAUSING_STARTS
           
private static String[] HEAD_CHILDREN
           
private  boolean headClosed
           
private static String[] OPTIONAL_END
           
private  HtmlParser parser
           
private  String[] stack
           
private  int stackIndex
           
private static String XHTML_NS
           
 
Fields inherited from class fi.iki.hsivonen.xml.ContentHandlerFilter
contentHandler, errorHandler, locator
 
Constructor Summary
TagInferenceFilter(HtmlParser parser)
           
 
Method Summary
private  void endElement(String name)
           
 void endElement(String uri, String local, String qName)
           
 void flushStack()
           
private  boolean isEmpty()
           
private static boolean isHeadChild(String name)
           
private static boolean isOptionalEnd(String name)
           
private  String peek()
           
private  String pop()
           
private  void push(String str)
           
 void startDocument()
           
private  void startElement(String name)
           
 void startElement(String uri, String local, String qName, Attributes attrs)
           
private static boolean startImpliesEnd(String start, String top)
           
 
Methods inherited from class fi.iki.hsivonen.xml.ContentHandlerFilter
characters, endDocument, endPrefixMapping, err, fatal, getContentHandler, getErrorHandler, ignorableWhitespace, processingInstruction, setContentHandler, setDocumentLocator, setErrorHandler, skippedEntity, startPrefixMapping
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

XHTML_NS

private static final String XHTML_NS
See Also:
Constant Field Values

END_CAUSING_STARTS

private static final String[][] END_CAUSING_STARTS

OPTIONAL_END

private static final String[] OPTIONAL_END

HEAD_CHILDREN

private static final String[] HEAD_CHILDREN

stack

private String[] stack

stackIndex

private int stackIndex

parser

private HtmlParser parser

headClosed

private boolean headClosed
Constructor Detail

TagInferenceFilter

public TagInferenceFilter(HtmlParser parser)
Parameters:
parser -
Method Detail

isOptionalEnd

private static boolean isOptionalEnd(String name)

isHeadChild

private static boolean isHeadChild(String name)

startImpliesEnd

private static boolean startImpliesEnd(String start,
                                       String top)

push

private void push(String str)

pop

private String pop()

peek

private String peek()

isEmpty

private boolean isEmpty()

flushStack

public void flushStack()
                throws SAXException
Throws:
SAXException
See Also:
ContentHandler.endDocument()

endElement

public void endElement(String uri,
                       String local,
                       String qName)
                throws SAXException
Specified by:
endElement in interface ContentHandler
Overrides:
endElement in class ContentHandlerFilter
Throws:
SAXException
See Also:
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)

endElement

private void endElement(String name)
                 throws SAXException
Parameters:
uri -
name -
Throws:
SAXException

startDocument

public void startDocument()
                   throws SAXException
Specified by:
startDocument in interface ContentHandler
Overrides:
startDocument in class ContentHandlerFilter
Throws:
SAXException
See Also:
ContentHandler.startDocument()

startElement

public void startElement(String uri,
                         String local,
                         String qName,
                         Attributes attrs)
                  throws SAXException
Specified by:
startElement in interface ContentHandler
Overrides:
startElement in class ContentHandlerFilter
Throws:
SAXException
See Also:
ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)

startElement

private void startElement(String name)
                   throws SAXException
Parameters:
string -
Throws:
SAXException