}
public void parse(InputStream stream, ContentHandler handler,
Metadata metadata, ParseContext context) throws IOException,
SAXException, TikaException {
ChmExtractor chmExtractor = new ChmExtractor(stream);
// metadata
metadata.set(Metadata.CONTENT_TYPE, "application/vnd.ms-htmlhelp");
// content
XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
xhtml.startDocument();
Iterator<DirectoryListingEntry> it =
chmExtractor.getChmDirList().getDirectoryListingEntryList().iterator();
while (it.hasNext()) {
DirectoryListingEntry entry = it.next();
if (entry.getName().endsWith(".html") || entry.getName().endsWith(".htm")) {
xhtml.characters(extract(chmExtractor.extractChmEntry(entry)));
}
}
xhtml.endDocument();
}