public class DocumentParser extends Parser
有効なすべてのタグ、および暗示されているが明示的には指定されていないタグに対して、コールバックを伝えます。たとえば、HTML 文字列 (<p>blah) で定義されているのは p タグだけです。コールバックは次のメソッドを検出します。
HTMLEditorKit.ParserCallback.IMPLIED
に Boolean.TRUE
の値を持ちます。
HTML.Attributes は型保証された HTML 属性の列挙を定義します。タグの属性キーが HTML.Attribute で定義される場合は HTML.Attribute がキーとして使われ、そうでない場合は String が使われます。たとえば <p foo=bar class=neat> には 2 つの属性があります。foo は HTML.Attribute では定義されず、クラスは HTML.Attribute で定義されるため、AttributeSet は 2 つの値を持ちます。「neat」という String 値を持つ HTML.Attribute.CLASS と、「bar」という String 値を持つ String キー「foo」です。
位置引数はタグ、コメント、またはテキストの開始を示します。配列と同様に、ストリームの最初の文字は 0 という位置が設定されます。暗示されるタグの場合、位置は次に検出されるタグの位置を示します。最初の例では、body および html の暗示された開始タグは p タグと同じ位置が設定され、p、html および body の暗示された終了タグはすべて同じ位置が設定されています。
HTML は空白をスキップするため、テキストの位置は最初の有効な文字の位置になります。たとえば文字列 \n\n\nblah では、テキスト blah は 3 という位置が設定され、改行はスキップされます。
値を持たない属性、たとえば HTML 文字列 <foo blah>
の属性 blah
は値を持ちませんが、こうした属性の場合は、AttributeSet の値に配置される値として次の 2 つが考えられます。
HTML.NULL_ATTRIBUTE_VALUE
となる。
<!ATTLIST OPTION selected (selected) #IMPLIED>
では、dtd の値 (この場合は selected) が使用される。
ストリームの解析が終了すると、コールバックは行末文字列である可能性が高い文字列の通知を受けます。行末文字列は、ストリームの解析中にもっとも多く検出される \n、\r または \r\n のどれかです。
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
コンストラクタと説明 |
---|
DocumentParser(DTD dtd) |
修飾子と型 | メソッドと説明 |
---|---|
protected void |
handleComment(char[] text)
HTML のコメントを検出したときに呼び出されます。
|
protected void |
handleEmptyTag(TagElement tag)
空のタグを処理します。
|
protected void |
handleEndTag(TagElement tag)
終了タグを処理します。
|
protected void |
handleError(int ln, String errorMsg)
エラーが発生したことを示す。
|
protected void |
handleStartTag(TagElement tag)
開始タグを処理します。
|
protected void |
handleText(char[] data)
テキストを処理します。
|
void |
parse(Reader in, HTMLEditorKit.ParserCallback callback, boolean ignoreCharSet) |
endTag, error, error, error, error, flushAttributes, getAttributes, getCurrentLine, getCurrentPos, handleEOFInComment, handleTitle, makeTag, makeTag, markFirstTime, parse, parseDTDMarkup, parseMarkupDeclarations, startTag
public DocumentParser(DTD dtd)
public void parse(Reader in, HTMLEditorKit.ParserCallback callback, boolean ignoreCharSet) throws IOException
IOException
protected void handleStartTag(TagElement tag)
handleStartTag
、クラス: Parser
protected void handleComment(char[] text)
Parser
handleComment
、クラス: Parser
protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException
handleEmptyTag
、クラス: Parser
ChangedCharSetException
protected void handleEndTag(TagElement tag)
handleEndTag
、クラス: Parser
protected void handleText(char[] data)
handleText
、クラス: Parser
protected void handleError(int ln, String errorMsg)
Parser
handleError
、クラス: Parser
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.