|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.swing.text.html.HTMLEditorKit.ParserCallback javax.swing.text.html.HTMLDocument.HTMLReader
public class HTMLDocument.HTMLReader
HTML ドキュメントを HTML 要素構造とともにロードするための HTML リーダーです。このクラスは、パーサーからのコールバックのセットであり、属性のタグが付いた要素のセットを生成するために実装されます。解析は必要な要素サブツリーを記述するトークン群 (ElementSpec) を組み立て、これを書き込みロックのもとでドキュメントの外部クラスの挿入メソッドを使ってドキュメントに挿入します。
リーダーを構成設定するには、アクションを処理する方法を記述した HTMLDocument.HTMLReader.TagAction
型のアクションを登録します。提供されているアクションの基本になっている考え方は、要素構造が結局のところなんらかの書式を持つ文字の並びから成る段落であれば、もっとも自然なテキストの編集オペレーションを提供できる、というものです。構造的に指定した方が自然な場合もあるので、段落上での任意の構造が許可されるようにすべきであり、その場合でも、構造的なアクションを使って編集する必要があります。つまり、解析中のストリームで指定されている HTML 要素の一部は、属性に折りたたまれ、場合によっては段落が合成されます。HTML 要素が属性に変換される場合、情報が失われないように属性キーは HTML.Tag 型になり、値は AttributeSet 型になります。これによって、既存のアクションの多くが機能するようになり、ユーザーは入力をキーボードから入力したり、リターンキー、BackSpace キー、Delete キーなどを押して、その適切な結果を得ることができます。選択を生成したり、属性を適用または削除したりすることもできます。以上のことを考慮した上で、リーダーが行う作業は次のようなタスクに分類できます。
現時点では、<APPLET>、<PARAM>、<MAP>、<AREA>、<LINK>、<SCRIPT>、および <STYLE> はサポートされていません。
HTML.Tag
で定義されているタグに対して割り当てられているアクションの記述を次に示します。
タグ | アクション |
---|---|
HTML.Tag.A | CharacterAction |
HTML.Tag.ADDRESS | CharacterAction |
HTML.Tag.APPLET | HiddenAction |
HTML.Tag.AREA | AreaAction |
HTML.Tag.B | CharacterAction |
HTML.Tag.BASE | BaseAction |
HTML.Tag.BASEFONT | CharacterAction |
HTML.Tag.BIG | CharacterAction |
HTML.Tag.BLOCKQUOTE | BlockAction |
HTML.Tag.BODY | BlockAction |
HTML.Tag.BR | SpecialAction |
HTML.Tag.CAPTION | BlockAction |
HTML.Tag.CENTER | BlockAction |
HTML.Tag.CITE | CharacterAction |
HTML.Tag.CODE | CharacterAction |
HTML.Tag.DD | BlockAction |
HTML.Tag.DFN | CharacterAction |
HTML.Tag.DIR | BlockAction |
HTML.Tag.DIV | BlockAction |
HTML.Tag.DL | BlockAction |
HTML.Tag.DT | ParagraphAction |
HTML.Tag.EM | CharacterAction |
HTML.Tag.FONT | CharacterAction |
HTML.Tag.FORM | 1.4 では BlockAction |
HTML.Tag.FRAME | SpecialAction |
HTML.Tag.FRAMESET | BlockAction |
HTML.Tag.H1 | ParagraphAction |
HTML.Tag.H2 | ParagraphAction |
HTML.Tag.H3 | ParagraphAction |
HTML.Tag.H4 | ParagraphAction |
HTML.Tag.H5 | ParagraphAction |
HTML.Tag.H6 | ParagraphAction |
HTML.Tag.HEAD | HeadAction |
HTML.Tag.HR | SpecialAction |
HTML.Tag.HTML | BlockAction |
HTML.Tag.I | CharacterAction |
HTML.Tag.IMG | SpecialAction |
HTML.Tag.INPUT | FormAction |
HTML.Tag.ISINDEX | IsndexAction |
HTML.Tag.KBD | CharacterAction |
HTML.Tag.LI | BlockAction |
HTML.Tag.LINK | LinkAction |
HTML.Tag.MAP | MapAction |
HTML.Tag.MENU | BlockAction |
HTML.Tag.META | MetaAction |
HTML.Tag.NOFRAMES | BlockAction |
HTML.Tag.OBJECT | SpecialAction |
HTML.Tag.OL | BlockAction |
HTML.Tag.OPTION | FormAction |
HTML.Tag.P | ParagraphAction |
HTML.Tag.PARAM | HiddenAction |
HTML.Tag.PRE | PreAction |
HTML.Tag.SAMP | CharacterAction |
HTML.Tag.SCRIPT | HiddenAction |
HTML.Tag.SELECT | FormAction |
HTML.Tag.SMALL | CharacterAction |
HTML.Tag.STRIKE | CharacterAction |
HTML.Tag.S | CharacterAction |
HTML.Tag.STRONG | CharacterAction |
HTML.Tag.STYLE | StyleAction |
HTML.Tag.SUB | CharacterAction |
HTML.Tag.SUP | CharacterAction |
HTML.Tag.TABLE | BlockAction |
HTML.Tag.TD | BlockAction |
HTML.Tag.TEXTAREA | FormAction |
HTML.Tag.TH | BlockAction |
HTML.Tag.TITLE | TitleAction |
HTML.Tag.TR | BlockAction |
HTML.Tag.TT | CharacterAction |
HTML.Tag.U | CharacterAction |
HTML.Tag.UL | BlockAction |
HTML.Tag.VAR | CharacterAction |
</html> が見つかると、Action は通知されなくなります。
入れ子のクラスの概要 | |
---|---|
class |
HTMLDocument.HTMLReader.BlockAction
|
class |
HTMLDocument.HTMLReader.CharacterAction
|
class |
HTMLDocument.HTMLReader.FormAction
フォームの各コントロールを表すための要素をすべて生成して、フォームをサポートするためのアクションです。 |
class |
HTMLDocument.HTMLReader.HiddenAction
|
class |
HTMLDocument.HTMLReader.IsindexAction
|
class |
HTMLDocument.HTMLReader.ParagraphAction
|
class |
HTMLDocument.HTMLReader.PreAction
|
class |
HTMLDocument.HTMLReader.SpecialAction
|
class |
HTMLDocument.HTMLReader.TagAction
タグの構文解析に応じて実行されるアクションです。 |
フィールドの概要 | |
---|---|
protected MutableAttributeSet |
charAttr
|
protected Vector<DefaultStyledDocument.ElementSpec> |
parseBuffer
|
クラス javax.swing.text.html.HTMLEditorKit.ParserCallback から継承されたフィールド |
---|
IMPLIED |
コンストラクタの概要 | |
---|---|
HTMLDocument.HTMLReader(int offset)
|
|
HTMLDocument.HTMLReader(int offset,
int popDepth,
int pushDepth,
HTML.Tag insertTag)
|
メソッドの概要 | |
---|---|
protected void |
addContent(char[] data,
int offs,
int length)
現在の文字属性を持つテキストを追加します。 |
protected void |
addContent(char[] data,
int offs,
int length,
boolean generateImpliedPIfNecessary)
現在の文字属性を持つテキストを追加します。 |
protected void |
addSpecialElement(HTML.Tag t,
MutableAttributeSet a)
基本的に属性セット全体で指定されているコンテンツを追加します。 |
protected void |
blockClose(HTML.Tag t)
解析バッファーに命令を追加して、指定した型のブロック要素を閉じます。 |
protected void |
blockOpen(HTML.Tag t,
MutableAttributeSet attr)
解析バッファーに命令を追加して、指定した属性を持つブロック要素を生成します。 |
void |
flush()
HTML リーダーで呼び出される最後のメソッドです。 |
void |
handleComment(char[] data,
int pos)
|
void |
handleEndOfLineString(String eol)
ストリームの解析が終了し、 flush の前に呼び出されます。 |
void |
handleEndTag(HTML.Tag t,
int pos)
パーサーからのコールバックです。 |
void |
handleSimpleTag(HTML.Tag t,
MutableAttributeSet a,
int pos)
パーサーからのコールバックです。 |
void |
handleStartTag(HTML.Tag t,
MutableAttributeSet a,
int pos)
パーサーからのコールバックです。 |
void |
handleText(char[] data,
int pos)
テキストブロックが見つかったことを示すために、パーサーによって呼び出されます。 |
protected void |
popCharacterStyle()
以前にプッシュした文字スタイルをスタックからポップして、以前の文字スタイルに戻します。 |
protected void |
preContent(char[] data)
PRE 要素で検出された指定されたコンテンツを追加します。 |
protected void |
pushCharacterStyle()
新しい入れ子の文字スタイルを作成する準備として、現在の文字スタイルをスタックにプッシュします。 |
protected void |
registerTag(HTML.Tag t,
HTMLDocument.HTMLReader.TagAction a)
指定したタグのハンドラを登録します。 |
protected void |
textAreaContent(char[] data)
テキスト領域ドキュメントに指定されたコンテンツを追加します。 |
クラス javax.swing.text.html.HTMLEditorKit.ParserCallback から継承されたメソッド |
---|
handleError |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected Vector<DefaultStyledDocument.ElementSpec> parseBuffer
protected MutableAttributeSet charAttr
コンストラクタの詳細 |
---|
public HTMLDocument.HTMLReader(int offset)
public HTMLDocument.HTMLReader(int offset, int popDepth, int pushDepth, HTML.Tag insertTag)
メソッドの詳細 |
---|
public void flush() throws BadLocationException
HTMLEditorKit.ParserCallback
内の flush
BadLocationException
public void handleText(char[] data, int pos)
HTMLEditorKit.ParserCallback
内の handleText
public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos)
HTMLEditorKit.ParserCallback
内の handleStartTag
public void handleComment(char[] data, int pos)
HTMLEditorKit.ParserCallback
内の handleComment
public void handleEndTag(HTML.Tag t, int pos)
HTMLEditorKit.ParserCallback
内の handleEndTag
public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos)
HTMLEditorKit.ParserCallback
内の handleSimpleTag
public void handleEndOfLineString(String eol)
flush
の前に呼び出されます。eol
は、ストリームの解析中にもっとも多く検出される \n、\r または \r\n のどれかです。
HTMLEditorKit.ParserCallback
内の handleEndOfLineString
protected void registerTag(HTML.Tag t, HTMLDocument.HTMLReader.TagAction a)
protected void pushCharacterStyle()
protected void popCharacterStyle()
protected void textAreaContent(char[] data)
protected void preContent(char[] data)
protected void blockOpen(HTML.Tag t, MutableAttributeSet attr)
protected void blockClose(HTML.Tag t)
protected void addContent(char[] data, int offs, int length)
data
- 追加するコンテンツoffs
- 初期オフセットlength
- 長さprotected void addContent(char[] data, int offs, int length, boolean generateImpliedPIfNecessary)
data
- 追加するコンテンツoffs
- 初期オフセットlength
- 長さgenerateImpliedPIfNecessary
- 暗黙的に指定された段落を 生成するかどうかprotected void addSpecialElement(HTML.Tag t, MutableAttributeSet a)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。