|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.swing.text.html.parser.Parser
public class Parser
一個簡單的 DTD 驅動的 HTML 解析器。該解析器從 InputStream 讀取 HTML 檔案,並在遇到標記和資料時調用各種方法(在子類別中應覆寫這些方法)。
遺憾的是,存在許多不良實作的 HTML 解析器,結果導致許多不良格式的 HTML 檔案。此解析器嘗試解析大多數 HTML 檔案。這意味著該實作有時偏離有利於 HTML 的 SGML 規範。
該解析器將 \r 和 \r\n 視為 \n。開始標記之後和結束標記之前的換行被忽略,正如 SGML/HTML 規範中指定的那樣。
html 規範不指定如何很好地組合空格。明確地說,不討論下面的情形(注意,此處應使用空格,但我使用了 來強制顯示空格):
'<b>blah <i> <strike> foo' 可以被視為:'<b>blah <i><strike>foo'
以及:'<p><a href="xx"> <em>Using</em></a></p>' 好像被視為:'<p><a href="xx"><em>Using</em></a></p>'
如果 strict
為 false,在遇到中斷串流的標記 (TagElement.breaksFlows
) 或尾部空白時,如果未遇到非空(null)白字元,所有空白都將被忽略。看上去該行為與串流行的瀏覽器的行為更接近。
DTD
,
TagElement
,
SimpleAttributeSet
欄位摘要 | |
---|---|
protected DTD |
dtd
|
protected boolean |
strict
此標記確定 Parser 在強制執行 SGML 相容性方面是否嚴格。 |
從介面 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 |
建構子摘要 | |
---|---|
Parser(DTD dtd)
|
方法摘要 | |
---|---|
protected void |
endTag(boolean omitted)
處理結束標記。 |
protected void |
error(String err)
|
protected void |
error(String err,
String arg1)
|
protected void |
error(String err,
String arg1,
String arg2)
|
protected void |
error(String err,
String arg1,
String arg2,
String arg3)
調用錯誤處理程序。 |
protected void |
flushAttributes()
|
protected SimpleAttributeSet |
getAttributes()
|
protected int |
getCurrentLine()
|
protected int |
getCurrentPos()
|
protected void |
handleComment(char[] text)
在遇到 HTML 註釋時調用。 |
protected void |
handleEmptyTag(TagElement tag)
在遇到空標記時調用。 |
protected void |
handleEndTag(TagElement tag)
在遇到結束標記時調用。 |
protected void |
handleEOFInComment()
|
protected void |
handleError(int ln,
String msg)
發生了一個錯誤。 |
protected void |
handleStartTag(TagElement tag)
在遇到開始標記時調用。 |
protected void |
handleText(char[] text)
在遇到 PCDATA 時調用。 |
protected void |
handleTitle(char[] text)
在遇到 HTML 標題標記時調用。 |
protected TagElement |
makeTag(Element elem)
|
protected TagElement |
makeTag(Element elem,
boolean fictional)
製作 TagElement。 |
protected void |
markFirstTime(Element elem)
標記在文檔中首次看到標記 |
void |
parse(Reader in)
在給定 DTD 的情況下,解析 HTML 串流。 |
String |
parseDTDMarkup()
解析 Document Type Declaration 標記宣告。 |
protected boolean |
parseMarkupDeclarations(StringBuffer strBuff)
解析標記宣告。 |
protected void |
startTag(TagElement tag)
處理開始標記。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
protected DTD dtd
protected boolean strict
建構子詳細資訊 |
---|
public Parser(DTD dtd)
方法詳細資訊 |
---|
protected int getCurrentLine()
protected TagElement makeTag(Element elem, boolean fictional)
protected TagElement makeTag(Element elem)
protected SimpleAttributeSet getAttributes()
protected void flushAttributes()
protected void handleText(char[] text)
protected void handleTitle(char[] text)
protected void handleComment(char[] text)
protected void handleEOFInComment()
protected void handleEmptyTag(TagElement tag) throws ChangedCharSetException
ChangedCharSetException
protected void handleStartTag(TagElement tag)
protected void handleEndTag(TagElement tag)
protected void handleError(int ln, String msg)
protected void error(String err, String arg1, String arg2, String arg3)
protected void error(String err, String arg1, String arg2)
protected void error(String err, String arg1)
protected void error(String err)
protected void startTag(TagElement tag) throws ChangedCharSetException
ChangedCharSetException
protected void endTag(boolean omitted)
protected void markFirstTime(Element elem)
public String parseDTDMarkup() throws IOException
IOException
protected boolean parseMarkupDeclarations(StringBuffer strBuff) throws IOException
IOException
public void parse(Reader in) throws IOException
IOException
protected int getCurrentPos()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。