- java.lang.Object
 -  
      
- org.xml.sax.helpers.DefaultHandler
 
 
-  
       
- 实现的所有接口
 -  
         
ContentHandler,DTDHandler,EntityResolver,ErrorHandler 
- 已知直接子类:
 -  
         
DefaultHandler2 
public class DefaultHandler extends Object implements EntityResolver, DTDHandler, ContentHandler, ErrorHandler
SAX2事件处理程序的默认基类。This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.
该类可用作SAX2应用程序的便捷基类:它为四个核心SAX2处理程序类中的所有回调提供了默认实现:
应用程序编写者可以在需要仅实现部分接口时扩展此类; 解析器编写器可以实例化此类,以便在应用程序未提供自己的类时提供默认处理程序。
此类替换已弃用的SAX1
HandlerBase类。- 从以下版本开始:
 - 1.4,SAX 2.0
 - 另请参见:
 -  
         
EntityResolver,DTDHandler,ContentHandler,ErrorHandler 
 
-  
        
       
-  
             
构造方法摘要
构造方法 构造器 描述 DefaultHandler() 
-  
             
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 voidcharacters(char[] ch, int start, int length)接收元素内的字符数据通知。voidendDocument()接收文档结束的通知。voidendElement(String uri, String localName, String qName)接收元素结束的通知。voidendPrefixMapping(String prefix)接收命名空间映射结束的通知。voiderror(SAXParseException e)接收可恢复的解析器错误的通知。voidfatalError(SAXParseException e)报告致命的XML解析错误。voidignorableWhitespace(char[] ch, int start, int length)接收元素内容中可忽略空白的通知。voidnotationDecl(String name, String publicId, String systemId)收到注释声明的通知。voidprocessingInstruction(String target, String data)接收处理指令的通知。InputSourceresolveEntity(String publicId, String systemId)解决外部实体。voidsetDocumentLocator(Locator locator)接收文档事件的Locator对象。voidskippedEntity(String name)接收跳过的实体的通知。voidstartDocument()接收文档开头的通知。voidstartElement(String uri, String localName, String qName, Attributes attributes)接收元素开始的通知。voidstartPrefixMapping(String prefix, String uri)接收命名空间映射开始的通知。voidunparsedEntityDecl(String name, String publicId, String systemId, String notationName)接收未解析的实体声明的通知。voidwarning(SAXParseException e)接收解析器警告的通知。 
 -  
             
 
-  
        
       
-  
             
方法详细信息
-  
resolveEntity
public InputSource resolveEntity(String publicId, String systemId) throws IOException, SAXException
解决外部实体。始终返回null,以便解析器将使用XML文档中提供的系统标识符。 此方法实现SAX默认行为:应用程序编写者可以在子类中覆盖它以执行特殊转换,例如目录查找或URI重定向。
- Specified by:
 -  
              
resolveEntity接口EntityResolver - 参数
 -  
              
publicId- 公共标识符,如果没有,则为null。 -  
              
systemId- XML文档中提供的系统标识符。 - 结果
 - 新的输入源,或null以要求默认行为。
 - 异常
 -  
              
IOException- 如果设置新输入源时出错。 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
EntityResolver.resolveEntity(java.lang.String, java.lang.String) 
 
-  
notationDecl
public void notationDecl(String name, String publicId, String systemId) throws SAXException
收到注释声明的通知。默认情况下,什么也不做。 如果应用程序编写者希望跟踪文档中声明的符号,则可以在子类中覆盖此方法。
- Specified by:
 -  
              
notationDecl接口DTDHandler - 参数
 -  
              
name- 符号名称。 -  
              
publicId- 表示法公共标识符,如果不可用,则为null。 -  
              
systemId- 符号系统标识符。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String) 
 
-  
unparsedEntityDecl
public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException
接收未解析的实体声明的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以跟踪文档中声明的未解析实体。
- Specified by:
 -  
              
unparsedEntityDecl接口DTDHandler - 参数
 -  
              
name- 实体名称。 -  
              
publicId- 实体公共标识符,如果不可用,则为null。 -  
              
systemId- 实体系统标识符。 -  
              
notationName- 相关表示法的名称。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String) 
 
-  
setDocumentLocator
public void setDocumentLocator(Locator locator)
接收文档事件的Locator对象。默认情况下,什么也不做。 如果应用程序编写者希望存储定位器以供其他文档事件使用,则可以在子类中重写此方法。
- Specified by:
 -  
              
setDocumentLocator在界面ContentHandler - 参数
 -  
              
locator- 所有SAX文档事件的定位器。 - 另请参见:
 -  
              
ContentHandler.setDocumentLocator(org.xml.sax.Locator),Locator 
 
-  
startDocument
public void startDocument() throws SAXException接收文档开头的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在文档的开头采取特定操作(例如,分配树的根节点或创建输出文件)。
- Specified by:
 -  
              
startDocument接口ContentHandler - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ContentHandler.startDocument() 
 
-  
endDocument
public void endDocument() throws SAXException接收文档结束的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在文档末尾执行特定操作(例如,完成树或关闭输出文件)。
- Specified by:
 -  
              
endDocument接口ContentHandler - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ContentHandler.endDocument() 
 
-  
startPrefixMapping
public void startPrefixMapping(String prefix, String uri) throws SAXException
接收命名空间映射开始的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在每个Namespace前缀范围的开头采取特定操作(例如存储前缀映射)。
- Specified by:
 -  
              
startPrefixMapping接口ContentHandler - 参数
 -  
              
prefix- 声明的名称空间前缀。 -  
              
uri- 映射到前缀的名称空间URI。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String) 
 
-  
endPrefixMapping
public void endPrefixMapping(String prefix) throws SAXException
接收命名空间映射结束的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在每个前缀映射的末尾执行特定操作。
- Specified by:
 -  
              
endPrefixMapping接口ContentHandler - 参数
 -  
              
prefix- 声明的名称空间前缀。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ContentHandler.endPrefixMapping(java.lang.String) 
 
-  
startElement
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
接收元素开始的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在每个元素的开头采取特定操作(例如,分配新的树节点或将输出写入文件)。
- Specified by:
 -  
              
startElement接口ContentHandler - 参数
 -  
              
uri- 名称空间URI,如果元素没有名称空间URI或者未执行名称空间处理,则为空字符串。 -  
              
localName- 本地名称(不带前缀),如果未执行命名空间处理,则为空字符串。 -  
              
qName- 限定名称(带前缀),如果限定名称不可用,则为空字符串。 -  
              
attributes- 附加到元素的属性。 如果没有属性,则它应为空的Attributes对象。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) 
 
-  
endElement
public void endElement(String uri, String localName, String qName) throws SAXException
接收元素结束的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以在每个元素的末尾执行特定操作(例如,最终确定树节点或将输出写入文件)。
- Specified by:
 -  
              
endElement接口ContentHandler - 参数
 -  
              
uri- 名称空间URI,如果元素没有名称空间URI或者未执行名称空间处理,则为空字符串。 -  
              
localName- 本地名称(不带前缀),如果未执行命名空间处理,则为空字符串。 -  
              
qName- 限定名称(带前缀),如果限定名称不可用,则为空字符串。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String) 
 
-  
characters
public void characters(char[] ch, int start, int length) throws SAXException接收元素内的字符数据通知。默认情况下,什么也不做。 应用程序编写者可以覆盖此方法,以对每个字符数据块执行特定操作(例如将数据添加到节点或缓冲区,或将其打印到文件中)。
- Specified by:
 -  
              
characters接口ContentHandler - 参数
 -  
              
ch- 人物。 -  
              
start- 字符数组中的起始位置。 -  
              
length- 字符数组中使用的字符数。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ContentHandler.characters(char[], int, int) 
 
-  
ignorableWhitespace
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException接收元素内容中可忽略空白的通知。默认情况下,什么也不做。 应用程序编写者可以重写此方法,以便为每个可忽略的空白块采取特定操作(例如将数据添加到节点或缓冲区,或将其打印到文件中)。
- Specified by:
 -  
              
ignorableWhitespace在界面ContentHandler - 参数
 -  
              
ch- 空格字符。 -  
              
start- 字符数组中的起始位置。 -  
              
length- 字符数组中要使用的字符数。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ContentHandler.ignorableWhitespace(char[], int, int) 
 
-  
processingInstruction
public void processingInstruction(String target, String data) throws SAXException
接收处理指令的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以对每个处理指令采取特定操作,例如设置状态变量或调用其他方法。
- Specified by:
 -  
              
processingInstruction在界面ContentHandler - 参数
 -  
              
target- 处理指令目标。 -  
              
data- 处理指令数据,如果未提供,则为null。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ContentHandler.processingInstruction(java.lang.String, java.lang.String) 
 
-  
skippedEntity
public void skippedEntity(String name) throws SAXException
接收跳过的实体的通知。默认情况下,什么也不做。 应用程序编写者可以在子类中重写此方法,以对每个处理指令采取特定操作,例如设置状态变量或调用其他方法。
- Specified by:
 -  
              
skippedEntity接口ContentHandler - 参数
 -  
              
name- 跳过的实体的名称。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ContentHandler.processingInstruction(java.lang.String, java.lang.String) 
 
-  
warning
public void warning(SAXParseException e) throws SAXException
接收解析器警告的通知。默认实现什么都不做。 应用程序编写者可以在子类中重写此方法,以针对每个警告采取特定操作,例如将消息插入日志文件或将其打印到控制台。
- Specified by:
 -  
              
warning接口ErrorHandler - 参数
 -  
              
e- 编码为异常的警告信息。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ErrorHandler.warning(org.xml.sax.SAXParseException),SAXParseException 
 
-  
error
public void error(SAXParseException e) throws SAXException
接收可恢复的解析器错误的通知。默认实现什么都不做。 应用程序编写者可以在子类中重写此方法,以针对每个错误采取特定操作,例如将消息插入日志文件或将其打印到控制台。
- Specified by:
 -  
              
error接口ErrorHandler - 参数
 -  
              
e- 编码为异常的错误信息。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ErrorHandler.warning(org.xml.sax.SAXParseException),SAXParseException 
 
-  
fatalError
public void fatalError(SAXParseException e) throws SAXException
报告致命的XML解析错误。默认实现抛出SAXParseException。 如果需要针对每个致命错误采取特定操作(例如将所有错误收集到单个报告中),应用程序编写者可以在子类中覆盖此方法:在任何情况下,应用程序必须在调用此方法时停止所有常规处理,因为文档不再可靠,并且解析器可能不再报告解析事件。
- Specified by:
 -  
              
fatalError接口ErrorHandler - 参数
 -  
              
e- 编码为异常的错误信息。 - 异常
 -  
              
SAXException- 任何SAX异常,可能包含另一个异常。 - 另请参见:
 -  
              
ErrorHandler.fatalError(org.xml.sax.SAXParseException),SAXParseException 
 
 -  
 
 -