JavaTM 2 Platform
Standard Ed. 6

org.xml.sax
介面 Parser

所有已知實作類別:
XMLReaderAdapter

已過時。 此介面已經被 SAX2 XMLReader 介面取代,後者包括名稱空間支持。

public interface Parser

用於 SAX (XML 的簡單 API) 解析器的基本介面。

此模組(包括源程式碼和文檔)在公共域中,同時 沒有擔保有關更多資訊,請參閱http://www.saxproject.org

這是一個 SAX1 的主要事件提供者介面;在 SAX2 中它已經被 XMLReader 所取代,後者包括名稱空間支持、複雜的可配置性及可擴展性。

所有的 SAX1 解析器都必須實作這一基本介面:它允許應用程序為不同型別的事件註冊處理程序並且從 URI 或字元串流開始解析。

所有的 SAX1 解析器還必須實作零參數的建構子(儘管也允許實作其他的建構子)。

SAX1 解析器可以重新使用,但不可重入:一旦成功完成了第一次解析,應用程序就可以重新使用一個解析器物件(可能具有不同的輸入源),但它不可以在解析中以遞歸的方式調用 parse() 方法,

從以下版本開始:
SAX 1.0
另請參見:
EntityResolver, DTDHandler, DocumentHandler, ErrorHandler, HandlerBase, InputSource

方法摘要
 void parse(InputSource source)
          已過時。 解析 XML 文檔。
 void parse(String systemId)
          已過時。 從系統標識符 (URI) 解析 XML 文檔。
 void setDocumentHandler(DocumentHandler handler)
          已過時。 允許應用程序註冊文檔事件處理程序。
 void setDTDHandler(DTDHandler handler)
          已過時。 允許應用程序註冊 DTD 事件處理程序。
 void setEntityResolver(EntityResolver resolver)
          已過時。 允許應用程序註冊自定義的實體解析器。
 void setErrorHandler(ErrorHandler handler)
          已過時。 允許應用程序註冊錯誤事件處理程序。
 void setLocale(Locale locale)
          已過時。 允許應用程序請求錯誤和警告的環境。
 

方法詳細資訊

setLocale

void setLocale(Locale locale)
               throws SAXException
已過時。 
允許應用程序請求錯誤和警告的環境。

不需要 SAX 解析器提供對錯誤和警告的本地化;但是,如果它們無法支持所請求的環境,則必須拋出 SAX 異常。在解析過程中應用程序不能請求環境改變。

參數:
locale - Java Locale 物件。
拋出:
SAXException - 如果不支持請求的環境,則拋出異常(使用原來的或預設的環境)。
另請參見:
SAXException, SAXParseException

setEntityResolver

void setEntityResolver(EntityResolver resolver)
已過時。 
允許應用程序註冊自定義的實體解析器。

如果應用程序不註冊實體解析器,則 SAX 解析器自身將解析系統標識符並打開到實體的連接(這是在 HandlerBase 中實作的預設行為)。

應用程序還可以在解析期間註冊新的或不同的實體解析器,並且 SAX 解析器必須立即開始使用新的解析器。

參數:
resolver - 用來解析實體的物件。
另請參見:
EntityResolver, HandlerBase

setDTDHandler

void setDTDHandler(DTDHandler handler)
已過時。 
允許應用程序註冊 DTD 事件處理程序。

如果應用程序不註冊 DTD 處理程序,則將忽略由 SAX 解析器報告的所有 DTD 事件(這是由 HandlerBase 實作的預設行為)。

應用程序還可以在解析期間註冊新的或不同的處理程序,並且 SAX 解析器必須立即開始使用新的處理程序。

參數:
handler - DTD 處理程序。
另請參見:
DTDHandler, HandlerBase

setDocumentHandler

void setDocumentHandler(DocumentHandler handler)
已過時。 
允許應用程序註冊文檔事件處理程序。

如果應用程序不註冊文檔處理程序,則將忽略由 SAX 解析器報告的所有文檔事件(這是由 HandlerBase 實作的預設行為)。

應用程序還可以在解析過程中註冊新的或不同的處理程序,並且 SAX 解析器必須立即開始使用新的處理程序。

參數:
handler - 文檔處理程序。
另請參見:
DocumentHandler, HandlerBase

setErrorHandler

void setErrorHandler(ErrorHandler handler)
已過時。 
允許應用程序註冊錯誤事件處理程序。

如果應用程序不註冊錯誤事件處理程序,則將忽略由 SAX 解析器報告的所有錯誤事件,但不包括 fatalError,它將拋出 SAXException(這是由 HandlerBase 實作的預設行為)。

應用程序還可以在解析過程中註冊新的或不同的處理程序,並且 SAX 解析器必須立即開始使用新的處理程序。

參數:
handler - 錯誤處理程序。
另請參見:
ErrorHandler, SAXException, HandlerBase

parse

void parse(InputSource source)
           throws SAXException,
                  IOException
已過時。 
解析 XML 文檔。

應用程序可以使用此方法指導 SAX 解析器開始解析來自任何有效輸入源(字元串流、位元組串流或 URI)的 XML 文檔。

在解析正在進行時,應用程序可能不能調用此方法(它們必須為每個另外的 XML 文檔創建新的 Parser)。一旦完成瞭解析,應用程序就可以重新使用可能具有另外一個輸入源的同一個 Parser 物件。

參數:
source - XML 文檔的頂層的輸入源。
拋出:
SAXException - 任何 SAX 異常,可能包裹另外的異常。
IOException - 解析器發出的 IO 異常,可能來自應用程序提供的位元組串流或字元串流。
另請參見:
InputSource, parse(java.lang.String), setEntityResolver(org.xml.sax.EntityResolver), setDTDHandler(org.xml.sax.DTDHandler), setDocumentHandler(org.xml.sax.DocumentHandler), setErrorHandler(org.xml.sax.ErrorHandler)

parse

void parse(String systemId)
           throws SAXException,
                  IOException
已過時。 
從系統標識符 (URI) 解析 XML 文檔。

此方法是從系統標識符讀取文檔這一常見情形的捷徑。它完全等效於以下方法:

 parse(new InputSource(systemId));
 

如果系統標識符是一個 URL,則在將它傳遞到解析器之前必須由應用程序對它進行完整的解析。

參數:
systemId - 系統標識符 (URI)。
拋出:
SAXException - 任何 SAX 異常,可能包裹另外的異常。
IOException - 解析器發出的 IO 異常,可能來自應用程序提供的位元組串流或字元串流。
另請參見:
parse(org.xml.sax.InputSource)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only