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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。