public class HTMLDocument.HTMLReader extends HTMLEditorKit.ParserCallback
リーダーを構成するには、アクションの処理方法を記述した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 |
IMPLIED
コンストラクタと説明 |
---|
HTMLReader(int offset) |
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)
テキスト領域ドキュメントに指定されたコンテンツを追加します。
|
handleError
protected Vector<DefaultStyledDocument.ElementSpec> parseBuffer
protected MutableAttributeSet charAttr
public HTMLReader(int offset)
public HTMLReader(int offset, int popDepth, int pushDepth, HTML.Tag insertTag)
public void flush() throws BadLocationException
flush
、クラス: HTMLEditorKit.ParserCallback
BadLocationException
public void handleText(char[] data, int pos)
handleText
、クラス: HTMLEditorKit.ParserCallback
public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos)
handleStartTag
、クラス: HTMLEditorKit.ParserCallback
public void handleComment(char[] data, int pos)
handleComment
、クラス: HTMLEditorKit.ParserCallback
public void handleEndTag(HTML.Tag t, int pos)
handleEndTag
、クラス: HTMLEditorKit.ParserCallback
public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos)
handleSimpleTag
、クラス: HTMLEditorKit.ParserCallback
public void handleEndOfLineString(String eol)
flush
の前に呼び出されます。eol
は、ストリームの解析中にもっとも多く検出される\n、\rまたは\r\nのどれかです。handleEndOfLineString
、クラス: HTMLEditorKit.ParserCallback
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)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.