モジュール java.desktop

クラスParser

java.lang.Object
javax.swing.text.html.parser.Parser
すべての実装されたインタフェース:
DTDConstants
直系の既知のサブクラス:
DocumentParser

public class Parser extends Object implements DTDConstants
DTD駆動型の単純なHTMLパーサーです。 パーサーはInputStreamからHTMLファイルを読み取って、タグやデータを検出すると、各種のメソッド(サブクラスでオーバーライドされる)を呼び出します。

残念なことに、正しく実装されていないHTMLパーサーが数多く出回っています。その結果、フォーマットの正しくないHTMLファイルも多数存在します。 このパーサーは、ほとんどのHTMLファイルの解析を試みます。 すなわち、この実装はHTMLを優先し、SGMLの仕様とは異なっている場合もあります。

このパーサーは、\rおよび\r\nを\nとして扱います。 開始タグの後、および終了タグの前の改行は、SGMLやHTMLの仕様に従って無視されます。

HTML仕様では、空白文字がどのように連続するかについて明確に指定されていません。 特に、次のようなシナリオについては議論されていません(ここでは空白文字を使用するべきだが、空白文字の表示に&nbspを使用している)。

「<b>blah <i> <strike> foo」は、「<b>blah <i><strike>foo」として扱われます。

同様に、「<p><a href="xx"> <em>Using</em></a></p>」は、「<p><a href="xx"><em>Using</em></a></p>」として扱われます。

strictがfalseの場合、フローをブレークするタグ(TagElement.breaksFlows)や末尾に空白が見つかると、空白以外の文字が見つかるまで、空白はすべて無視されます。 これにより、一般的なブラウザに動作が近くなります。

関連項目: