- 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过滤器的基类。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.
此类旨在位于
XMLReader
和客户端应用程序的事件处理程序之间。 默认情况下,它只会将请求传递给读取器并将事件传递给未修改的处理程序,但子类可以覆盖特定方法以在事件流或配置请求通过时修改它们。- 从以下版本开始:
- 1.4,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(String systemId)
解析文档。void
parse(InputSource input)
解析文档。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)
过滤警告事件。
-
-
-
方法详细信息
-
setParent
public void setParent(XMLReader parent)
- Specified by:
-
setParent
接口XMLFilter
- 参数
-
parent
- 父XML阅读器。 - 另请参见:
-
getParent()
-
getParent
public XMLReader getParent()
获得家长读者。- Specified by:
-
getParent
接口XMLFilter
- 结果
- 父XML读取器,如果没有设置,则为null。
- 另请参见:
-
setParent(org.xml.sax.XMLReader)
-
setFeature
public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException
设置要素的值。如果父项为null,则始终会失败。
- Specified by:
-
setFeature
接口XMLReader
- 参数
-
name
- 功能名称。 -
value
- 请求的功能值。 - 异常
-
SAXNotRecognizedException
- 如果无法从父级分配或检索功能值。 -
SAXNotSupportedException
- 父级识别功能名称但无法设置请求的值时。 - 另请参见:
-
XMLReader.getFeature(java.lang.String)
-
getFeature
public boolean getFeature(String name) throws SAXNotRecognizedException, SAXNotSupportedException
查找功能的值。如果父项为null,则始终会失败。
- Specified by:
-
getFeature
接口XMLReader
- 参数
-
name
- 功能名称。 - 结果
- 功能的当前值。
- 异常
-
SAXNotRecognizedException
- 如果无法从父级分配或检索功能值。 -
SAXNotSupportedException
- 父级识别功能名称但此时无法确定其值。 - 另请参见:
-
XMLReader.setFeature(java.lang.String, boolean)
-
setProperty
public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException
设置属性的值。如果父项为null,则始终会失败。
- Specified by:
-
setProperty
接口XMLReader
- 参数
-
name
- 属性名称。 -
value
- 请求的属性值。 - 异常
-
SAXNotRecognizedException
- 如果无法从父级分配或检索属性值。 -
SAXNotSupportedException
- 父级识别属性名称但无法设置请求的值时。
-
getProperty
public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
查找属性的值。- Specified by:
-
getProperty
接口XMLReader
- 参数
-
name
- 属性名称。 - 结果
- 属性的当前值。
- 异常
-
SAXNotRecognizedException
- 如果无法从父级分配或检索属性值。 -
SAXNotSupportedException
- 当父级识别属性名称但此时无法确定其值时。 - 另请参见:
-
XMLReader.setProperty(java.lang.String, java.lang.Object)
-
setEntityResolver
public void setEntityResolver(EntityResolver resolver)
设置实体解析器。- Specified by:
-
setEntityResolver
接口XMLReader
- 参数
-
resolver
- 新实体解析程序。 - 另请参见:
-
XMLReader.getEntityResolver()
-
getEntityResolver
public EntityResolver getEntityResolver()
获取当前实体解析器。- Specified by:
-
getEntityResolver
接口XMLReader
- 结果
- 当前实体解析程序,如果没有设置则为null。
- 另请参见:
-
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
-
setDTDHandler
public void setDTDHandler(DTDHandler handler)
设置DTD事件处理程序。- Specified by:
-
setDTDHandler
接口XMLReader
- 参数
-
handler
- 新的DTD处理程序 - 另请参见:
-
XMLReader.getDTDHandler()
-
getDTDHandler
public DTDHandler getDTDHandler()
获取当前的DTD事件处理程序。- Specified by:
-
getDTDHandler
接口XMLReader
- 结果
- 当前的DTD处理程序,如果没有设置,则为null。
- 另请参见:
-
XMLReader.setDTDHandler(org.xml.sax.DTDHandler)
-
setContentHandler
public void setContentHandler(ContentHandler handler)
设置内容事件处理程序。- Specified by:
-
setContentHandler
接口XMLReader
- 参数
-
handler
- 新的内容处理程序 - 另请参见:
-
XMLReader.getContentHandler()
-
getContentHandler
public ContentHandler getContentHandler()
获取内容事件处理程序。- Specified by:
-
getContentHandler
接口XMLReader
- 结果
- 当前内容处理程序,如果没有设置,则为null。
- 另请参见:
-
XMLReader.setContentHandler(org.xml.sax.ContentHandler)
-
setErrorHandler
public void setErrorHandler(ErrorHandler handler)
设置错误事件处理程序。- Specified by:
-
setErrorHandler
接口XMLReader
- 参数
-
handler
- 新的错误处理程序 - 另请参见:
-
XMLReader.getErrorHandler()
-
getErrorHandler
public ErrorHandler getErrorHandler()
获取当前错误事件处理程序。- Specified by:
-
getErrorHandler
接口XMLReader
- 结果
- 当前错误处理程序,如果未设置,则返回null。
- 另请参见:
-
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler)
-
parse
public void parse(InputSource input) throws SAXException, IOException
解析文档。- Specified by:
-
parse
接口XMLReader
- 参数
-
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
解析文档。- Specified by:
-
parse
接口XMLReader
- 参数
-
systemId
- 系统标识符为完全限定的URI。 - 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 -
IOException
- 来自解析器的IO异常,可能来自应用程序提供的字节流或字符流。 - 另请参见:
-
XMLReader.parse(org.xml.sax.InputSource)
-
resolveEntity
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
过滤外部实体解析。- Specified by:
-
resolveEntity
接口EntityResolver
- 参数
-
publicId
- 实体的公共标识符,或null。 -
systemId
- 实体的系统标识符。 - 结果
- 新的InputSource或默认值为null。
- 异常
-
SAXException
- 客户端可能在处理期间抛出异常。 -
IOException
- 客户端可能在获取新的InputSource时抛出与I / O相关的异常。 - 另请参见:
-
InputSource
-
notationDecl
public void notationDecl(String name, String publicId, String systemId) throws SAXException
过滤符号声明事件。- Specified by:
-
notationDecl
接口DTDHandler
- 参数
-
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
过滤未解析的实体声明事件。- Specified by:
-
unparsedEntityDecl
接口DTDHandler
- 参数
-
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)
过滤新的文档定位器事件。- Specified by:
-
setDocumentLocator
接口ContentHandler
- 参数
-
locator
- 文档定位器。 - 另请参见:
-
Locator
-
startDocument
public void startDocument() throws SAXException
过滤开始文档事件。- Specified by:
-
startDocument
接口ContentHandler
- 异常
-
SAXException
- 客户端可能在处理期间抛出异常。 - 另请参见:
-
ContentHandler.endDocument()
-
endDocument
public void endDocument() throws SAXException
过滤结束文档事件。- Specified by:
-
endDocument
接口ContentHandler
- 异常
-
SAXException
- 客户端可能在处理期间抛出异常。 - 另请参见:
-
ContentHandler.startDocument()
-
startPrefixMapping
public void startPrefixMapping(String prefix, String uri) throws SAXException
过滤一个开始名称空间前缀映射事件。- Specified by:
-
startPrefixMapping
接口ContentHandler
- 参数
-
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
过滤结束命名空间前缀映射事件。- Specified by:
-
endPrefixMapping
接口ContentHandler
- 参数
-
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
过滤开始元素事件。- Specified by:
-
startElement
接口ContentHandler
- 参数
-
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
过滤结束元素事件。- Specified by:
-
endElement
接口ContentHandler
- 参数
-
uri
- 元素的名称空间URI或空字符串。 -
localName
- 元素的本地名称或空字符串。 -
qName
- 元素的限定(加前缀)名称或空字符串。 - 异常
-
SAXException
- 客户端可能在处理期间抛出异常。
-
characters
public void characters(char[] ch, int start, int length) throws SAXException
过滤字符数据事件。- Specified by:
-
characters
接口ContentHandler
- 参数
-
ch
- 字符数组。 -
start
- 数组中的起始位置。 -
length
- 从阵列中使用的字符数。 - 异常
-
SAXException
- 客户端可能在处理期间抛出异常。 - 另请参见:
-
ContentHandler.ignorableWhitespace(char[], int, int)
,Locator
-
ignorableWhitespace
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
过滤可忽略的空白事件。- Specified by:
-
ignorableWhitespace
接口ContentHandler
- 参数
-
ch
- 一个字符数组。 -
start
- 数组中的起始位置。 -
length
- 从阵列中使用的字符数。 - 异常
-
SAXException
- 客户端可能在处理期间抛出异常。 - 另请参见:
-
ContentHandler.characters(char[], int, int)
-
processingInstruction
public void processingInstruction(String target, String data) throws SAXException
过滤处理指令事件。- Specified by:
-
processingInstruction
接口ContentHandler
- 参数
-
target
- 处理指令目标。 -
data
- 目标data
的文本。 - 异常
-
SAXException
- 客户端可能在处理期间抛出异常。
-
skippedEntity
public void skippedEntity(String name) throws SAXException
过滤跳过的实体事件。- Specified by:
-
skippedEntity
接口ContentHandler
- 参数
-
name
- 跳过的实体的名称。 - 异常
-
SAXException
- 客户端可能在处理期间抛出异常。
-
warning
public void warning(SAXParseException e) throws SAXException
过滤警告事件。- Specified by:
-
warning
接口ErrorHandler
- 参数
-
e
- 警告作为例外。 - 异常
-
SAXException
- 客户端可能在处理期间抛出异常。 - 另请参见:
-
SAXParseException
-
error
public void error(SAXParseException e) throws SAXException
过滤错误事件。- Specified by:
-
error
接口ErrorHandler
- 参数
-
e
- 错误作为例外。 - 异常
-
SAXException
- 客户端可能在处理期间抛出异常。 - 另请参见:
-
SAXParseException
-
fatalError
public void fatalError(SAXParseException e) throws SAXException
过滤致命错误事件。- Specified by:
-
fatalError
接口ErrorHandler
- 参数
-
e
- 错误作为例外。 - 异常
-
SAXException
- 客户端可能在处理期间抛出异常。 - 另请参见:
-
SAXParseException
-
-