0

プログラムで生成された HTML の大きなブロックがあります。次の Java コードを使用して、Tidy (バージョン r938) で実行しました。

StringReader inStr = new StringReader(htmlInput);
StringWriter outStr = new StringWriter();
Tidy tidy = new Tidy();
tidy.setXHTML(true);
tidy.parseDOM(inStr, outStr);

次の出力が得られます。

InputStream: Document content looks like HTML 4.01 Transitional
247 warnings, 3 errors were found!
This document has errors that must be fixed before
using HTML Tidy to generate a tidied up version.

問題は、Tidy が検出した 3 つのエラーを教えてくれないことです。

私はここで少しいじっています。上記の出力は、実際には 247 個の警告すべての長いリストに従います (ほとんどの場合、空divの要素が削除されます)。tidy.setShowWarnings(false);でそれらを抑制できます。いずれにせよ、エラー レポートが表示されないため、何を修正する必要があるかわかりません。300Kb の HTML は、私には多すぎて目を見張ることができません。

エラーを見つけるために多くのアプローチを試みました。残念ながら、validate.w3.org を介して実行することはできません。HTML ファイルは独自のネットワーク上にあるためです。最も有益なアプローチは、IntelliJ IDEA で開くことでした。これにより、12 個ほどの重複した div ID が明らかになったので、これを修正しました。エラーはまだ発生しました。

この問題に関する他の言及を探しました。「JTidyを使用して解析されたHTMLからエラー/警告メッセージを取得するにはどうすればよいですか?」などのヒットをたくさん見つけましたが、、彼らは皆、異なることを求めているか、単に私には当てはまらない条件を想定しているようです. たとえば、警告は問題なく表示されます。それは私が必要とするエラーであり、電話をかけても報告されていませんsetShowErrors(100)

Tidy のソース コードに飛び込んでデバッグし、エラーが報告されたところから開始する必要がありますか? または、私ができるもっと簡単なことはありますか?

4

1 に答える 1