|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.swing.text.html.parser.Parser javax.swing.text.html.parser.DocumentParser
public class DocumentParser
HTML 文檔的解析器 (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> 有兩個屬性,foo 在 HTML.Attribute 中未定義,而 class 在其中定義,因此 AttributeSet 將包含兩個值,HTML.Attribute.CLASS 作為鍵的 String 值 "neat",String "foo" 作為鍵的 String 值 "bar"。
位置參數將指示標記、註釋或文本的開始。與陣列類似,串流中的第一個字元位置為 0。對於被隱含的標記來說,位置參數將指示下一個出現的標記的位置。在第一個範例中,隱含的開始正文和 html 標記將具有與 p 標記相同的位置,隱含的結束 p、html 和正文標記都將具有相同的位置。
由於 html 跳過空白,因此文本的位置將是第一個有效字元的位置,例如,在字元串 "\n\n\nblah" 中,文本 "blah" 位置為 3,換行將被跳過。
對於沒有值的屬性,例如,在 html 字元串 <foo blah>
中,屬性 blah
沒有值,存在兩個可以放入 AttributeSet 值中的可能值:
HTML.NULL_ATTRIBUTE_VALUE
。
<!ATTLIST OPTION selected (selected) #IMPLIED>
將使用 dtd(在此情形中已選中)中的這一值。
在解析串流之後,將通知回調最可能的行字元串結束符。行字元串的結束符將是 \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
IOException
protected void handleStartTag(TagElement tag)
Parser
中的 handleStartTag
protected void handleComment(char[] text)
Parser
複製的描述
Parser
中的 handleComment
protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException
Parser
中的 handleEmptyTag
ChangedCharSetException
protected void handleEndTag(TagElement tag)
Parser
中的 handleEndTag
protected void handleText(char[] data)
Parser
中的 handleText
protected void handleError(int ln, String errorMsg)
Parser
複製的描述
Parser
中的 handleError
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。