JavaTM 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 Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策