The parser throws a NullPointerException when I use the
following HTML as input for xhtmlMaker.java:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Transitional//EN">
<html>
</html>
I use the files from the distribution directory
chapt06, version
HotSAX-0.1.2c
I setup a test for this:
@Test
public void testDocType() throws Exception {
String html = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0\n" +
"Transitional//EN\">\n" +
"<html>\n" +
"</html>";
class ResultsBucket {
boolean gotStartHtml = false;
boolean gotEndHtml = false;
}
final ResultsBucket resultsBucket = new ResultsBucket();
ContentHandler ch = new DefaultContentHandler(){
@Override
public void startElement(String uri, String localName,
String qName, Attributes atts) throws SAXException {
resultsBucket.gotStartHtml = true;
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
resultsBucket.gotEndHtml = true;
}
};
parser.setContentHandler(ch);
InputSource input = new InputSource(new StringReader(html));
parser.parse(input);
Assert.assertTrue(resultsBucket.gotStartHtml);
Assert.assertTrue(resultsBucket.gotEndHtml);
}
it passes on the version of 0.1.2b that i am using.