|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface DTDHandler
接收基本的 DTD 相關的事件的通知。
此模組(包括源程式碼和文檔)在公共域中,同時 沒有擔保。有關更多資訊,請參閱http://www.saxproject.org。
如果 SAX 應用程序需要關於註釋和未解析的實體的資訊,則該應用程序實作此介面並使用 SAX 解析器的 setDTDHandler 方法向該解析器註冊一個實例。解析器使用該實例向應用程序報告註釋和未解析的實體宣告。
注意,此介面僅包括 XML 推薦標準需要 處理器報告的 DTD 事件:註釋和未解析的實體宣告。
SAX 解析器可按任何順序報告這些事件,而不管宣告註釋和未解析的實體時所採用的順序;但是,必須在文檔處理程序的 startDocument 事件之後,在第一個 startElement 事件之前報告所有的 DTD 事件。(如果使用 LexicalHandler
,則這些事件也必須在 endDTD 事件之前報告。)
需要依靠應用程序來存儲資訊以備將來之用(可能用雜湊表或物件階層樹)。如果應用程序遇到了 "NOTATION"、"ENTITY" 或 "ENTITIES" 型別的屬性,則可以使用它通過此介面獲取的資訊來尋找與該屬性值對應的實體和/ 或註釋。
XMLReader.setDTDHandler(org.xml.sax.DTDHandler)
方法摘要 | |
---|---|
void |
notationDecl(String name,
String publicId,
String systemId)
接收註釋宣告事件的通知。 |
void |
unparsedEntityDecl(String name,
String publicId,
String systemId,
String notationName)
接收未解析的實體宣告事件的通知。 |
方法詳細資訊 |
---|
void notationDecl(String name, String publicId, String systemId) throws SAXException
必要時需要應用程序來記錄註釋以便供以後參考;註釋可以作為屬性值和在未解析實體宣告中出現,並且有時和處理指令目標名稱一起使用。
至少 publicId 和 systemId 中的一個必須為非 null。如果有系統標識符,並且是 URL,則 SAX 解析器必須在通過此事件將它傳遞給應用程序之前完整解析它。
不能保證任何未解析實體在使用註釋宣告之前都報告它。
name
- 註釋名稱。publicId
- 註釋的公共標識符,如果未提供,則為 null。systemId
- 註釋的系統標識符,如果未提供,則為 null。
SAXException
- 任何 SAX 異常,可能包裹另外的異常。unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
,
Attributes
void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException
注意,註釋名稱對應於由 notationDecl
事件報告的註釋。必要時需要應用程序記錄實體以備以後參考;未解析的實體可以顯示為屬性值。
如果系統標識符是 URL,則解析器必須在將它傳遞給應用程序之前完整解析它。
name
- 未解析的實體的名稱。publicId
- 實體的公共標識符,如果未提供,則為 null。systemId
- 實體的系統標識符。notationName
- 相關註釋的名稱。
SAXException
- 任何 SAX 異常,可能包裹另外的異常。notationDecl(java.lang.String, java.lang.String, java.lang.String)
,
Attributes
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。