org.apache.tika.parser.html
Class HtmlParser

java.lang.Object
  extended by org.apache.tika.parser.html.HtmlParser
All Implemented Interfaces:
Parser

public class HtmlParser
extends java.lang.Object
implements Parser

HTML parser. Uses CyberNeko to turn the input document to HTML SAX events, and post-processes the events to produce XHTML and metadata expected by Tika clients.


Constructor Summary
HtmlParser()
           
 
Method Summary
protected  boolean isDiscardElement(java.lang.String name)
          Checks whether all content within the given HTML element should be discarded instead of including it in the parse output.
protected  java.lang.String mapSafeElement(java.lang.String name)
          Maps "safe" HTML element names to semantic XHTML equivalents.
 void parse(java.io.InputStream stream, org.xml.sax.ContentHandler handler, Metadata metadata)
          Deprecated. This method will be removed in Apache Tika 1.0.
 void parse(java.io.InputStream stream, org.xml.sax.ContentHandler handler, Metadata metadata, ParseContext context)
          Parses a document stream into a sequence of XHTML SAX events.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HtmlParser

public HtmlParser()
Method Detail

parse

public void parse(java.io.InputStream stream,
                  org.xml.sax.ContentHandler handler,
                  Metadata metadata,
                  ParseContext context)
           throws java.io.IOException,
                  org.xml.sax.SAXException,
                  TikaException
Description copied from interface: Parser
Parses a document stream into a sequence of XHTML SAX events. Fills in related document metadata in the given metadata object.

The given document stream is consumed but not closed by this method. The responsibility to close the stream remains on the caller.

Information about the parsing context can be passed in the context parameter. See the parser implementations for the kinds of context information they expect.

Specified by:
parse in interface Parser
Parameters:
stream - the document stream (input)
handler - handler for the XHTML SAX events (output)
metadata - document metadata (input and output)
context - parse context
Throws:
java.io.IOException - if the document stream could not be read
org.xml.sax.SAXException - if the SAX events could not be processed
TikaException - if the document could not be parsed

parse

public void parse(java.io.InputStream stream,
                  org.xml.sax.ContentHandler handler,
                  Metadata metadata)
           throws java.io.IOException,
                  org.xml.sax.SAXException,
                  TikaException
Deprecated. This method will be removed in Apache Tika 1.0.

Description copied from interface: Parser
The parse() method from Tika 0.4 and earlier. Please use the #parse(InputStream, ContentHandler, Metadata, Map) method instead in new code. Calls to this backwards compatibility method are forwarded to the new parse() method with an empty parse context.

Specified by:
parse in interface Parser
Throws:
java.io.IOException
org.xml.sax.SAXException
TikaException

mapSafeElement

protected java.lang.String mapSafeElement(java.lang.String name)
Maps "safe" HTML element names to semantic XHTML equivalents. If the given element is unknown or deemed unsafe for inclusion in the parse output, then this method returns null and the element will be ignored but the content inside it is still processed. See the isDiscardElement(String) method for a way to discard the entire contents of an element.

Subclasses can override this method to customize the default mapping.

Parameters:
name - HTML element name (upper case)
Returns:
XHTML element name (lower case), or null if the element is unsafe
Since:
Apache Tika 0.5

isDiscardElement

protected boolean isDiscardElement(java.lang.String name)
Checks whether all content within the given HTML element should be discarded instead of including it in the parse output. Subclasses can override this method to customize the set of discarded elements.

Parameters:
name - HTML element name (upper case)
Returns:
true if content inside the named element should be ignored, false otherwise
Since:
Apache Tika 0.5


Copyright © 2010 The Apache Software Foundation. All Rights Reserved.