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仕様では、空白文字がどのように連続するかについて明確に指定されていません。 特に、次のようなシナリオについては議論されていません(ここでは空白文字を使用するべきだが、空白文字の表示に を使用している)。
「<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)や末尾に空白が見つかると、空白以外の文字が見つかるまで、空白はすべて無視されます。 これにより、一般的なブラウザに動作が近くなります。 
- 関連項目:
- 
フィールドのサマリーフィールドインタフェース javax.swing.text.html.parser.DTDConstantsで宣言されたフィールドANY, CDATA, CONREF, CURRENT, DEFAULT, EMPTY, ENDTAG, ENTITIES, ENTITY, FIXED, GENERAL, ID, IDREF, IDREFS, IMPLIED, MD, MODEL, MS, NAME, NAMES, NMTOKEN, NMTOKENS, NOTATION, NUMBER, NUMBERS, NUTOKEN, NUTOKENS, PARAMETER, PI, PUBLIC, RCDATA, REQUIRED, SDATA, STARTTAG, SYSTEM
- 
コンストラクタのサマリーコンストラクタ
- 
メソッドのサマリー修飾子と型メソッド説明protected voidendTag(boolean omitted) 終了タグを処理します。protected void第1、第2、第3のエラー・メッセージ引数"?"を使用してエラー・ハンドラを呼び出します。protected void第2および第3のエラー・メッセージ引数"?"を使用してエラー・ハンドラを呼び出します。protected void3番目のエラー・メッセージ引数"?"を使用してエラー・ハンドラを呼び出します。protected voidエラー・ハンドラを呼び出します。protected void現在の属性を削除します。protected SimpleAttributeSet現在のタグの属性を返します。protected intprotected int現在の位置を返します。protected voidhandleComment(char[] text) HTMLのコメントを検出したときに呼び出されます。protected voidhandleEmptyTag(TagElement tag) 空のタグを検出したときに呼び出されます。protected voidhandleEndTag(TagElement tag) 終了タグを検出したときに呼び出されます。protected voidHTMLコメントを閉じずにコンテンツが終了すると呼び出されます。protected voidhandleError(int ln, String msg) エラーが発生したことを示す。protected voidhandleStartTag(TagElement tag) 開始タグを検出したときに呼び出されます。protected voidhandleText(char[] text) PCDATAを検出したときに呼び出されます。protected voidhandleTitle(char[] text) HTMLのtitleタグを検出したときに呼び出されます。protected TagElementTagElementを作成します。protected TagElementTagElementを作成します。protected voidmarkFirstTime(Element elem) ドキュメント内で最初に見つかったタグにマークを付けます。voidDTDが指定されている場合に、HTMLストリームを解析します。ドキュメント型宣言マークアップ宣言を解析します。protected booleanparseMarkupDeclarations(StringBuffer strBuff) マークアップ宣言を解析します。protected voidstartTag(TagElement tag) 開始タグを処理します。
- 
フィールド詳細- 
dtdprotected DTD dtddtd。
- 
strictprotected boolean strictこのフラグは、ParserがSGMLとの互換性を厳密に調べるかどうかを決定します。 falseの場合、不正なHTML構成要素からなる特定の共通クラスについては寛容な解析を行います。 厳密な場合もそうでない場合も、エラーは記録されます。
 
- 
- 
コンストラクタの詳細- 
Parserpublic Parser(DTD dtd) 指定されたdtdでパーサーを作成します。- パラメータ:
- dtd- dtd。
 
 
- 
- 
メソッドの詳細- 
getCurrentLineprotected int getCurrentLine()- 戻り値:
- 現在解析中の行の行番号
 
- 
makeTagprotected TagElement makeTag(Element elem, boolean fictional) TagElementを作成します。- パラメータ:
- elem- タグ定義を格納する要素
- fictional- タグに設定されるフラグ"- fictional"の値
- 戻り値:
- 作成されたTagElement
 
- 
makeTagprotected TagElement makeTag(Element elem) TagElementを作成します。- パラメータ:
- elem- タグ定義を格納する要素
- 戻り値:
- 作成されたTagElement
 
- 
getAttributesprotected SimpleAttributeSet getAttributes()現在のタグの属性を返します。- 戻り値:
- 属性を含むSimpleAttributeSet
 
- 
flushAttributesprotected void flushAttributes()現在の属性を削除します。
- 
handleTextprotected void handleText(char[] text) PCDATAを検出したときに呼び出されます。- パラメータ:
- text- セクション・テキスト
 
- 
handleTitleprotected void handleTitle(char[] text) HTMLのtitleタグを検出したときに呼び出されます。- パラメータ:
- text- タイトル・テキスト
 
- 
handleCommentprotected void handleComment(char[] text) HTMLのコメントを検出したときに呼び出されます。- パラメータ:
- text- コメントが処理されている
 
- 
handleEOFInCommentprotected void handleEOFInComment()HTMLコメントを閉じずにコンテンツが終了すると呼び出されます。
- 
handleEmptyTagprotected void handleEmptyTag(TagElement tag) throws ChangedCharSetException 空のタグを検出したときに呼び出されます。- パラメータ:
- tag- 処理されるタグ
- 例外:
- ChangedCharSetException- ドキュメントの文字セットが変更された場合
 
- 
handleStartTagprotected void handleStartTag(TagElement tag) 開始タグを検出したときに呼び出されます。- パラメータ:
- tag- 処理されるタグ
 
- 
handleEndTagprotected void handleEndTag(TagElement tag) 終了タグを検出したときに呼び出されます。- パラメータ:
- tag- 処理されるタグ
 
- 
handleErrorprotected void handleError(int ln, String msg) エラーが発生したことを示す。- パラメータ:
- ln- エラーを含む行の数
- msg- エラー・メッセージ
 
- 
errorエラー・ハンドラを呼び出します。- パラメータ:
- err- エラーのタイプ
- arg1- 最初のエラー・メッセージ引数
- arg2- 2番目のエラー・メッセージ引数
- arg3- 3番目のエラー・メッセージ引数
 
- 
error3番目のエラー・メッセージ引数"?"を使用してエラー・ハンドラを呼び出します。- パラメータ:
- err- エラーのタイプ
- arg1- 最初のエラー・メッセージ引数
- arg2- 2番目のエラー・メッセージ引数
 
- 
error第2および第3のエラー・メッセージ引数"?"を使用してエラー・ハンドラを呼び出します。- パラメータ:
- err- エラーのタイプ
- arg1- 最初のエラー・メッセージ引数
 
- 
errorprotected void error(String err) 第1、第2、第3のエラー・メッセージ引数"?"を使用してエラー・ハンドラを呼び出します。- パラメータ:
- err- エラーのタイプ
 
- 
startTagprotected void startTag(TagElement tag) throws ChangedCharSetException 開始タグを処理します。 新しいタグが、タグのスタックにプッシュされます。 属性リストを調べて、必要な属性を探します。- パラメータ:
- tag- タグ
- 例外:
- ChangedCharSetException- ドキュメントの文字セットが変更された場合
 
- 
endTagprotected void endTag(boolean omitted) 終了タグを処理します。 終了タグは、タグのスタックからポップされます。- パラメータ:
- omitted- タグは、文書には実際には存在しないが、場合- true、パーサーによって想定されます
 
- 
markFirstTimeprotected void markFirstTime(Element elem) ドキュメント内で最初に見つかったタグにマークを付けます。- パラメータ:
- elem- タグによって表される要素
 
- 
parseDTDMarkuppublic String parseDTDMarkup() throws IOExceptionドキュメント型宣言マークアップ宣言を解析します。 現在は、これを無視します。- 戻り値:
- マークアップ宣言の文字列表現
- 例外:
- IOException- 入出力エラーが発生した場合
 
- 
parseMarkupDeclarationsprotected boolean parseMarkupDeclarations(StringBuffer strBuff) throws IOException マークアップ宣言を解析します。 現在は、文書型定義によるマークアップだけを処理します。 マークアップ宣言の場合はtrueを返し、そうでない場合はfalseを返します。- パラメータ:
- strBuff- マークアップ宣言
- 戻り値:
- trueこれが有効なマークアップ宣言である場合。そうでなければ- false
- 例外:
- IOException- 入出力エラーが発生した場合
 
- 
parsepublic void parse(Reader in) throws IOException DTDが指定されている場合に、HTMLストリームを解析します。- パラメータ:
- in- 読者がソースを読む
- 例外:
- IOException- 入出力エラーが発生した場合
 
- 
getCurrentPosprotected int getCurrentPos()現在の位置を返します。- 戻り値:
- 現在の位置
 
 
-