- すべての実装されたインタフェース:
DTDConstants
有効なすべてのタグ、および暗示されているが明示的には指定されていないタグに対して、コールバックを伝えます。 たとえば、HTML文字列(<p>blah)で定義されているのはpタグだけです。 コールバックは次のメソッドを検出します。
- handleStartTag(html, ...)
- handleStartTag(head, ...)
- handleEndTag(head)
- handleStartTag(body, ...)
- handleStartTag(p, ...)
- handleText(...)
- handleEndTag(p)
- handleEndTag(body)
- handleEndTag(html)
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つが考えられます。
- DTDが要素の定義を含まない場合、または定義に明示的な値がない場合は、AttributeSetの値は
HTML.NULL_ATTRIBUTE_VALUE
となる。 - DTDが明示的な値を含む場合はdtdのその値が使用される。たとえば
<!ATTLIST OPTION selected (selected)#IMPLIED>
では、dtdの値(この場合はselected)が使用される。
ストリームの解析が終了すると、コールバックは行末文字列である可能性が高い文字列の通知を受けます。 行末文字列は、ストリームの解析中にもっとも多く検出される\n、\rまたは\r\nのどれかです。
-
フィールドのサマリー
インタフェース 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 void
handleEmptyTag(TagElement tag)
空のタグを処理します。protected void
handleEndTag(TagElement tag)
終了タグを処理します。protected void
handleStartTag(TagElement tag)
開始タグを処理します。protected void
handleText(char[] data)
テキストを処理します。void
parse(Reader in, HTMLEditorKit.ParserCallback callback, boolean ignoreCharSet)
DTDが指定されている場合に、HTMLストリームを解析します。クラス javax.swing.text.html.parser.Parserで宣言されたメソッド
endTag, error, error, error, error, flushAttributes, getAttributes, getCurrentLine, getCurrentPos, handleComment, handleEOFInComment, handleError, handleTitle, makeTag, makeTag, markFirstTime, parse, parseDTDMarkup, parseMarkupDeclarations, startTag
-
コンストラクタの詳細
-
DocumentParser
public DocumentParser(DTD dtd)指定されたdtd
でドキュメント・パーサーを作成します。- パラメータ:
dtd
- dtd。
-
-
メソッドの詳細
-
parse
public void parse(Reader in, HTMLEditorKit.ParserCallback callback, boolean ignoreCharSet) throws IOExceptionDTDが指定されている場合に、HTMLストリームを解析します。- パラメータ:
in
- 読者がソースを読むcallback
- コールバックignoreCharSet
-true
がcharsetが無視される場合- 例外:
IOException
- 入出力エラーが発生した場合
-
handleStartTag
protected void handleStartTag(TagElement tag)開始タグを処理します。- オーバーライド:
handleStartTag
、クラス:Parser
- パラメータ:
tag
- 処理されるタグ
-
handleEmptyTag
protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException空のタグを処理します。- オーバーライド:
handleEmptyTag
、クラス:Parser
- パラメータ:
tag
- 処理されるタグ- 例外:
ChangedCharSetException
- ドキュメントの文字セットが変更された場合
-
handleEndTag
protected void handleEndTag(TagElement tag)終了タグを処理します。- オーバーライド:
handleEndTag
、クラス:Parser
- パラメータ:
tag
- 処理されるタグ
-
handleText
protected void handleText(char[] data)テキストを処理します。- オーバーライド:
handleText
、クラス:Parser
- パラメータ:
data
- セクション・テキスト
-