JavaTM 2 Platform
Standard Ed. 6

org.xml.sax.helpers
類別 XMLFilterImpl

java.lang.Object
  繼承者 org.xml.sax.helpers.XMLFilterImpl
所有已實作的介面:
ContentHandler, DTDHandler, EntityResolver, ErrorHandler, XMLFilter, XMLReader

public class XMLFilterImpl
extends Object
implements XMLFilter, EntityResolver, DTDHandler, ContentHandler, ErrorHandler

派生 XML 過濾器的基礎類別。

此模組(包括源程式碼和文檔)位於公共域中,對該模組不提供擔保有關更多資訊,請參閱http://www.saxproject.org。。

此類別設計為位於 XMLReader 和客戶端應用程序的事件處理程序之間。預設情況下,除了將請求傳遞給閱讀器和將事件傳遞給未修改的處理程序外,不執行其他操作。但是,子類別可以覆寫特定方法在它們傳遞時修改事件串流或配置請求。

從以下版本開始:
SAX 2.0
另請參見:
XMLFilter, XMLReader, EntityResolver, DTDHandler, ContentHandler, ErrorHandler

建構子摘要
XMLFilterImpl()
          建構一個不帶父過濾器的空 XML 過濾器。
XMLFilterImpl(XMLReader parent)
          建構一個帶有特定父過濾器的 XML 過濾器。
 
方法摘要
 void characters(char[] ch, int start, int length)
          過濾一個字元資料事件。
 void endDocument()
          過濾一個結束文檔事件。
 void endElement(String uri, String localName, String qName)
          過濾一個結束元素事件。
 void endPrefixMapping(String prefix)
          過濾一個結束名稱空間前綴映射事件。
 void error(SAXParseException e)
          過濾一個錯誤事件。
 void fatalError(SAXParseException e)
          過濾一個嚴重的錯誤事件。
 ContentHandler getContentHandler()
          獲取內容事件處理程序。
 DTDHandler getDTDHandler()
          獲取當前 DTD 事件處理程序。
 EntityResolver getEntityResolver()
          獲取當前實體解析器。
 ErrorHandler getErrorHandler()
          獲取當前錯誤事件處理程序。
 boolean getFeature(String name)
          尋找功能值。
 XMLReader getParent()
          獲取父讀取器。
 Object getProperty(String name)
          尋找屬性值。
 void ignorableWhitespace(char[] ch, int start, int length)
          過濾一個可忽略空格的事件。
 void notationDecl(String name, String publicId, String systemId)
          過濾一個註釋宣告事件。
 void parse(InputSource input)
          解析一個文檔。
 void parse(String systemId)
          解析一個文檔。
 void processingInstruction(String target, String data)
          過濾一個處理指令事件。
 InputSource resolveEntity(String publicId, String systemId)
          過濾一個外部實體解析。
 void setContentHandler(ContentHandler handler)
          設置內容事件處理程序。
 void setDocumentLocator(Locator locator)
          過濾一個新的文檔定位器事件。
 void setDTDHandler(DTDHandler handler)
          設置 DTD 事件處理程序。
 void setEntityResolver(EntityResolver resolver)
          設置實體解析器。
 void setErrorHandler(ErrorHandler handler)
          設置錯誤事件處理程序。
 void setFeature(String name, boolean value)
          設置功能的值。
 void setParent(XMLReader parent)
          設置父讀取器。
 void setProperty(String name, Object value)
          設置屬性值。
 void skippedEntity(String name)
          過濾一個跳過的實體事件。
 void startDocument()
          過濾一個開始文檔事件。
 void startElement(String uri, String localName, String qName, Attributes atts)
          過濾一個開始元素事件。
 void startPrefixMapping(String prefix, String uri)
          過濾一個開始名稱空間前綴映射事件。
 void unparsedEntityDecl(String name, String publicId, String systemId, String notationName)
          過濾一個未解析實體宣告事件。
 void warning(SAXParseException e)
          過濾一個警告事件。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

XMLFilterImpl

public XMLFilterImpl()
建構一個不帶父過濾器的空 XML 過濾器。

此過濾器將沒有父過濾器:在使用 setFeature 或 setProperty 開始解析或執行任何操作之前您必須分派一個父過濾器,除非將其用作純事件使用者而非 XMLReader

另請參見:
XMLReader.setFeature(java.lang.String, boolean), XMLReader.setProperty(java.lang.String, java.lang.Object), setParent(org.xml.sax.XMLReader)

XMLFilterImpl

public XMLFilterImpl(XMLReader parent)
建構一個帶有特定父過濾器的 XML 過濾器。

另請參見:
setParent(org.xml.sax.XMLReader), getParent()
方法詳細資訊

setParent

public void setParent(XMLReader parent)
設置父讀取器。

這是 XMLReader,此過濾器將從其中獲取它的事件並向其傳遞配置請求。父過濾器本身還有可能是其他過濾器。

如果沒有設置父讀取器,則解析、設置或獲得功能或屬性的任何嘗試都不會成功。

指定者:
介面 XMLFilter 中的 setParent
參數:
parent - 父 XML 讀取器。
另請參見:
getParent()

getParent

public XMLReader getParent()
獲取父讀取器。

指定者:
介面 XMLFilter 中的 getParent
返回:
父 XML 讀取器,如果未設置,則返回 null。
另請參見:
setParent(org.xml.sax.XMLReader)

setFeature

public void setFeature(String name,
                       boolean value)
                throws SAXNotRecognizedException,
                       SAXNotSupportedException
設置功能的值。

如果父功能為 null,則始終會失敗。

指定者:
介面 XMLReader 中的 setFeature
參數:
name - 功能名稱。
value - 請求的功能值。
拋出:
SAXNotRecognizedException - 如果功能值不能從父功能分派或檢索。
SAXNotSupportedException - 當父功能識別功名稱,但不能設置請求的值時。
另請參見:
XMLReader.getFeature(java.lang.String)

getFeature

public boolean getFeature(String name)
                   throws SAXNotRecognizedException,
                          SAXNotSupportedException
尋找功能值。

如果父功能為 null,則始終會失敗。

指定者:
介面 XMLReader 中的 getFeature
參數:
name - 功能名稱。
返回:
此功能的當前值。
拋出:
SAXNotRecognizedException - 如果功能值不能從父功能分派或檢索。
SAXNotSupportedException - 當父功能識別功能名稱,但此時不能確定其值時。
另請參見:
XMLReader.setFeature(java.lang.String, boolean)

setProperty

public void setProperty(String name,
                        Object value)
                 throws SAXNotRecognizedException,
                        SAXNotSupportedException
設置屬性值。

如果父屬性為 null,則始終會失敗。

指定者:
介面 XMLReader 中的 setProperty
參數:
name - 屬性名。
value - 請求的屬性值。
拋出:
SAXNotRecognizedException - 如果屬性值不能從父屬性分派或檢索。
SAXNotSupportedException - 當父屬性識別屬性名稱,但不能設置請求的值時。

getProperty

public Object getProperty(String name)
                   throws SAXNotRecognizedException,
                          SAXNotSupportedException
尋找屬性值。

指定者:
介面 XMLReader 中的 getProperty
參數:
name - 屬性名。
返回:
屬性的當前值。
拋出:
SAXNotRecognizedException - 如果屬性值不能從父屬性分派或檢索。
SAXNotSupportedException - 當父屬性識別屬性名稱,但此時不能確定其值時。
另請參見:
XMLReader.setProperty(java.lang.String, java.lang.Object)

setEntityResolver

public void setEntityResolver(EntityResolver resolver)
設置實體解析器。

指定者:
介面 XMLReader 中的 setEntityResolver
參數:
resolver - 新實體解析器。
另請參見:
XMLReader.getEntityResolver()

getEntityResolver

public EntityResolver getEntityResolver()
獲取當前實體解析器。

指定者:
介面 XMLReader 中的 getEntityResolver
返回:
當前實體解析器,如果未設置,則返回 null。
另請參見:
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)

setDTDHandler

public void setDTDHandler(DTDHandler handler)
設置 DTD 事件處理程序。

指定者:
介面 XMLReader 中的 setDTDHandler
參數:
handler - 新的 DTD 處理程序。
另請參見:
XMLReader.getDTDHandler()

getDTDHandler

public DTDHandler getDTDHandler()
獲取當前 DTD 事件處理程序。

指定者:
介面 XMLReader 中的 getDTDHandler
返回:
當前 DTD 處理程序,如果未設置,則返回 null。
另請參見:
XMLReader.setDTDHandler(org.xml.sax.DTDHandler)

setContentHandler

public void setContentHandler(ContentHandler handler)
設置內容事件處理程序。

指定者:
介面 XMLReader 中的 setContentHandler
參數:
handler - 新的內容處理程序
另請參見:
XMLReader.getContentHandler()

getContentHandler

public ContentHandler getContentHandler()
獲取內容事件處理程序。

指定者:
介面 XMLReader 中的 getContentHandler
返回:
當前內容處理程序,如果未設置,則返回 null。
另請參見:
XMLReader.setContentHandler(org.xml.sax.ContentHandler)

setErrorHandler

public void setErrorHandler(ErrorHandler handler)
設置錯誤事件處理程序。

指定者:
介面 XMLReader 中的 setErrorHandler
參數:
handler - 新的錯誤處理程序
另請參見:
XMLReader.getErrorHandler()

getErrorHandler

public ErrorHandler getErrorHandler()
獲取當前錯誤事件處理程序。

指定者:
介面 XMLReader 中的 getErrorHandler
返回:
當前錯誤處理程序,如果未設置,則返回 null。
另請參見:
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler)

parse

public void parse(InputSource input)
           throws SAXException,
                  IOException
解析一個文檔。

指定者:
介面 XMLReader 中的 parse
參數:
input - 文檔實體的輸入源。
拋出:
SAXException - 任何 SAX 異常,可能包裹另外的異常。
IOException - 來自解析器的 IO 異常,可能來自應用程序提供的位元組串流或字元串流。
另請參見:
InputSource, XMLReader.parse(java.lang.String), XMLReader.setEntityResolver(org.xml.sax.EntityResolver), XMLReader.setDTDHandler(org.xml.sax.DTDHandler), XMLReader.setContentHandler(org.xml.sax.ContentHandler), XMLReader.setErrorHandler(org.xml.sax.ErrorHandler)

parse

public void parse(String systemId)
           throws SAXException,
                  IOException
解析一個文檔。

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

resolveEntity

public InputSource resolveEntity(String publicId,
                                 String systemId)
                          throws SAXException,
                                 IOException
過濾一個外部實體解析。

指定者:
介面 EntityResolver 中的 resolveEntity
參數:
publicId - 實體的公開標識符,或者為 null。
systemId - 實體的系統標識符。
返回:
新的 InputSource,預設返回 null。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
IOException - 客戶端可以在獲取新 InputSource 的同時拋出一個與 I/O 相關的異常。
另請參見:
InputSource

notationDecl

public void notationDecl(String name,
                         String publicId,
                         String systemId)
                  throws SAXException
過濾一個註釋宣告事件。

指定者:
介面 DTDHandler 中的 notationDecl
參數:
name - 註釋名稱。
publicId - 註釋的公開標識符,或者為 null。
systemId - 註釋的系統標識符,或者 null。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String), Attributes

unparsedEntityDecl

public void unparsedEntityDecl(String name,
                               String publicId,
                               String systemId,
                               String notationName)
                        throws SAXException
過濾一個未解析實體宣告事件。

指定者:
介面 DTDHandler 中的 unparsedEntityDecl
參數:
name - 實體名稱。
publicId - 實體的公開標識符,或者為 null。
systemId - 實體的系統標識符,或者 null。
notationName - 相關聯的註釋的名稱。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String), Attributes

setDocumentLocator

public void setDocumentLocator(Locator locator)
過濾一個新的文檔定位器事件。

指定者:
介面 ContentHandler 中的 setDocumentLocator
參數:
locator - 文檔定位器。
另請參見:
Locator

startDocument

public void startDocument()
                   throws SAXException
過濾一個開始文檔事件。

指定者:
介面 ContentHandler 中的 startDocument
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
ContentHandler.endDocument()

endDocument

public void endDocument()
                 throws SAXException
過濾一個結束文檔事件。

指定者:
介面 ContentHandler 中的 endDocument
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
ContentHandler.startDocument()

startPrefixMapping

public void startPrefixMapping(String prefix,
                               String uri)
                        throws SAXException
過濾一個開始名稱空間前綴映射事件。

指定者:
介面 ContentHandler 中的 startPrefixMapping
參數:
prefix - 名稱空間前綴。
uri - 名稱空間 URI。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
ContentHandler.endPrefixMapping(java.lang.String), ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)

endPrefixMapping

public void endPrefixMapping(String prefix)
                      throws SAXException
過濾一個結束名稱空間前綴映射事件。

指定者:
介面 ContentHandler 中的 endPrefixMapping
參數:
prefix - 名稱空間前綴。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String), ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)

startElement

public void startElement(String uri,
                         String localName,
                         String qName,
                         Attributes atts)
                  throws SAXException
過濾一個開始元素事件。

指定者:
介面 ContentHandler 中的 startElement
參數:
uri - 元素的名稱空間 URI,或者空字元串。
localName - 元素的本地名稱,或者空字元串。
qName - 元素的限定(帶前綴的)名稱,或者空字元串。
atts - 元素的屬性。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String), Attributes, AttributesImpl

endElement

public void endElement(String uri,
                       String localName,
                       String qName)
                throws SAXException
過濾一個結束元素事件。

指定者:
介面 ContentHandler 中的 endElement
參數:
uri - 元素的名稱空間 URI,或者空字元串。
localName - 元素的本地名稱,或者空字元串。
qName - 元素的限定(帶前綴的)名稱,或者空字元串。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws SAXException
過濾一個字元資料事件。

指定者:
介面 ContentHandler 中的 characters
參數:
ch - 字元陣列。
start - 陣列中的開始位置。
length - 從陣列中使用的字元數。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
ContentHandler.ignorableWhitespace(char[], int, int), Locator

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws SAXException
過濾一個可忽略空格的事件。

指定者:
介面 ContentHandler 中的 ignorableWhitespace
參數:
ch - 字元陣列。
start - 陣列中的開始位置。
length - 從陣列中使用的字元數。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
ContentHandler.characters(char[], int, int)

processingInstruction

public void processingInstruction(String target,
                                  String data)
                           throws SAXException
過濾一個處理指令事件。

指定者:
介面 ContentHandler 中的 processingInstruction
參數:
target - 處理指令目標。
data - 目標後跟隨的文本。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。

skippedEntity

public void skippedEntity(String name)
                   throws SAXException
過濾一個跳過的實體事件。

指定者:
介面 ContentHandler 中的 skippedEntity
參數:
name - 跳過的實體的名稱。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。

warning

public void warning(SAXParseException e)
             throws SAXException
過濾一個警告事件。

指定者:
介面 ErrorHandler 中的 warning
參數:
e - 作為異常的警告。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
SAXParseException

error

public void error(SAXParseException e)
           throws SAXException
過濾一個錯誤事件。

指定者:
介面 ErrorHandler 中的 error
參數:
e - 作為異常的錯誤。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
SAXParseException

fatalError

public void fatalError(SAXParseException e)
                throws SAXException
過濾一個嚴重的錯誤事件。

指定者:
介面 ErrorHandler 中的 fatalError
參數:
e - 作為異常的錯誤。
拋出:
SAXException - 客戶端可以在處理過程中拋出一個異常。
另請參見:
SAXParseException

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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