我使用JTidy来验证在Java中生成的HTML片段作为呈现类。我希望忽略某些警告和错误。
(编辑:转念一想,我可能不想抑制错误)
例如,生成以下代码段:
<img src='/images/icon.gif'>
导致此警告:
line 5 column 7 - Warning: img lacks "alt" attribute
我可以将JTidy配置为忽略像这样的特定检查吗?
我用来检查的方法是:
public static boolean isValidHtml(String htmlSnippet) {
String untestedHtml = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><HTML>" +
"<head><title>Wrapper HTML For Testing</title></head>" +
htmlSnippet +
"</HTML>";
final Tidy tidy = new Tidy();
final Writer writer = new StringWriter();
tidy.setErrout(new PrintWriter(writer, true));
tidy.parseDOM(new StringReader(untestedHtml), writer);
if (tidy.getParseErrors() > 0 || tidy.getParseWarnings() > 0) {
System.err.println(writer);
return false;
}
return true;
}
使用配置类执行此操作:
Tidy tidy = new Tidy();
tidy.setShowErrors(0);
tidy.setForceOutput(true);