|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.swing.text.html.parser.Parser
javax.swing.text.html.parser.DocumentParser
public class DocumentParser
HTML Documents の Parser です。実際には DTD を指定できますが、swing の html dtd にはこのクラスだけを使うようにしてください。HTML の InputStream を読み込み、ParserCallback クラスの適切なメソッドを呼び出します。このクラスは、HTMLEditorKit が HTML url を解析するのに使うデフォルトのパーサーです。
有効なすべてのタグ、および暗示されているが明示的には指定されていないタグに対して、コールバックを伝えます。たとえば、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 という位置を持っています。暗示されるタグの場合、位置は次に検出されるタグの位置を示します。最初の例では、暗示された本体開始タグおよび HTML タグは p タグと同じ位置を持ち、暗示された最後の p タグ、HTML タグおよび本体タグはすべて同じ位置を持っています。
HTML は空白をスキップするため、テキストの位置は最初の有効な文字の位置になります。たとえば文字列 \n\n\nblah では、テキスト blah は 3 という位置を持ち、改行はスキップされます。
値を持たない属性、たとえば HTML 文字列 <foo blah> の属性 blah は値を持ちませんが、こうした属性の場合は、AttributeSet の値に配置される値として次の 2 つが考えられます。
HTML.NULL_ATTRIBUTE_VALUE<!ATTLIST OPTION selected (selected) #IMPLIED> の場合は selected
ストリームの解析が終了すると、コールバックは行末文字列である可能性が高い文字列の通知を受けます。行末文字列は、ストリームの解析中に最も多く検出される \n、\r または \r\n のどれかです。
| フィールドの概要 |
|---|
| クラス javax.swing.text.html.parser.Parser から継承されたフィールド |
|---|
dtd, strict |
| インタフェース 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 |
| コンストラクタの概要 | |
|---|---|
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)
|
| クラス javax.swing.text.html.parser.Parser から継承されたメソッド |
|---|
endTag, error, error, error, error, flushAttributes, getAttributes, getCurrentLine, getCurrentPos, handleEOFInComment, handleTitle, makeTag, makeTag, markFirstTime, parse, parseDTDMarkup, parseMarkupDeclarations, startTag |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public DocumentParser(DTD dtd)
| メソッドの詳細 |
|---|
public void parse(Reader in,
HTMLEditorKit.ParserCallback callback,
boolean ignoreCharSet)
throws IOException
IOExceptionprotected void handleStartTag(TagElement tag)
Parser 内の handleStartTagprotected void handleComment(char[] text)
Parser の記述:
Parser 内の handleComment
protected void handleEmptyTag(TagElement tag)
throws ChangedCharSetException
Parser 内の handleEmptyTagChangedCharSetExceptionprotected void handleEndTag(TagElement tag)
Parser 内の handleEndTagprotected void handleText(char[] data)
Parser 内の handleText
protected void handleError(int ln,
String errorMsg)
Parser の記述:
Parser 内の handleError
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。