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过滤器的基类。
此类设计为位于XMLReader
和客户端应用程序事件处理程序之间。默认情况下,它什么也不做,只是将请求传递给读取器,并将事件不加修改地传递给处理程序,但子类可以重写特定方法,以修改事件流或通过时传递的配置请求。
- 自从:
- 1.4, SAX 2.0
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
characters
(char[] ch, int start, int length) 过滤字符数据事件。void
过滤结束文档事件。void
endElement
(String uri, String localName, String qName) 过滤结束元素事件。void
endPrefixMapping
(String prefix) 过滤结束命名空间前缀映射事件。void
过滤错误事件。void
过滤致命错误事件。获取内容事件处理程序。获取当前DTD事件处理程序。获取当前实体解析器。获取当前错误事件处理程序。boolean
getFeature
(String name) 查找功能的值。获取父读取器。getProperty
(String name) 查找属性的值。void
ignorableWhitespace
(char[] ch, int start, int length) 过滤可忽略的空白事件。void
notationDecl
(String name, String publicId, String systemId) 过滤符号声明事件。void
解析文档。void
parse
(InputSource input) 解析文档。void
processingInstruction
(String target, String data) 过滤处理指令事件。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
设置父读取器。void
setProperty
(String name, Object value) 设置属性的值。void
skippedEntity
(String name) 过滤跳过的实体事件。void
过滤开始文档事件。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
过滤警告事件。Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface org.xml.sax.ContentHandler
declaration
-
Constructor Details
-
XMLFilterImpl
public XMLFilterImpl()构造一个空的XML过滤器,没有父级。此过滤器将没有父级:在开始解析或使用setFeature或setProperty进行任何配置之前,您必须分配一个父级,除非您将其用作纯事件消费者而不是
XMLReader
。- 参见:
-
XMLFilterImpl
构造具有指定父级的XML过滤器。- 参数:
-
parent
- 指定的父级 - 参见:
-
-
Method Details
-
setParent
设置父读取器。这是此过滤器将从中获取其事件并向其传递其配置请求的
XMLReader
。父级本身可能是另一个过滤器。如果没有设置父读取器,任何尝试解析或设置或获取功能或属性都将失败。
-
getParent
获取父读取器。 -
setFeature
public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException 设置功能的值。如果父级为null,此操作将始终失败。
- 指定者:
-
setFeature
在接口XMLReader
中 - 参数:
-
name
- 功能名称。 -
value
- 请求的功能值。 - 抛出:
-
SAXNotRecognizedException
- 如果无法从父级分配或检索功能值。 -
SAXNotSupportedException
- 当父级识别功能名称但无法设置请求的值时。 - 参见:
-
getFeature
查找功能的值。如果父级为null,此操作将始终失败。
- 指定者:
-
getFeature
在接口XMLReader
中 - 参数:
-
name
- 功能名称。 - 返回:
- 功能的当前值。
- 抛出:
-
SAXNotRecognizedException
- 如果无法从父级分配或检索功能值。 -
SAXNotSupportedException
- 当父级识别功能名称但无法确定其值时。 - 参见:
-
setProperty
public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException 设置属性的值。如果父级为null,此操作将始终失败。
- 指定者:
-
setProperty
在接口XMLReader
中 - 参数:
-
name
- 属性名称。 -
value
- 请求的属性值。 - 抛出:
-
SAXNotRecognizedException
- 如果无法从父级分配或检索属性值。 -
SAXNotSupportedException
- 当父级识别属性名称但无法设置请求的值时。
-
getProperty
查找属性的值。- 指定者:
-
getProperty
在接口XMLReader
中 - 参数:
-
name
- 属性名称。 - 返回:
- 属性的当前值。
- 抛出:
-
SAXNotRecognizedException
- 如果无法从父级分配或检索属性值。 -
SAXNotSupportedException
- 当父级识别属性名称但无法确定其值时。 - 参见:
-
setEntityResolver
设置实体解析器。- 指定者:
-
setEntityResolver
在接口XMLReader
中 - 参数:
-
resolver
- 新的实体解析器。 - 参见:
-
getEntityResolver
获取当前实体解析器。- 指定者:
-
getEntityResolver
在接口XMLReader
中 - 返回:
- 当前实体解析器,如果未设置则返回null。
- 参见:
-
setDTDHandler
设置DTD事件处理程序。- 指定者:
-
setDTDHandler
在接口XMLReader
中 - 参数:
-
handler
- 新的DTD处理程序 - 参见:
-
getDTDHandler
获取当前DTD事件处理程序。- 指定者:
-
getDTDHandler
在接口XMLReader
中 - 返回:
- 当前DTD处理程序,如果未设置则返回null。
- 参见:
-
setContentHandler
设置内容事件处理程序。- 指定者:
-
setContentHandler
在接口XMLReader
中 - 参数:
-
handler
- 新的内容处理程序 - 参见:
-
getContentHandler
获取当前内容事件处理程序。- 指定者:
-
getContentHandler
在接口XMLReader
中 - 返回:
- 当前内容处理程序,如果未设置则返回null。
- 参见:
-
setErrorHandler
设置错误事件处理程序。- 指定者:
-
setErrorHandler
在接口XMLReader
中 - 参数:
-
handler
- 新的错误处理程序 - 参见:
-
getErrorHandler
获取当前错误事件处理程序。- 指定者:
-
getErrorHandler
在接口XMLReader
中 - 返回:
- 当前错误处理程序,如果未设置则返回null。
- 参见:
-
parse
解析文档。- 指定者:
-
parse
在接口XMLReader
中 - 参数:
-
input
- 文档实体的输入源。 - 抛出:
-
SAXException
- 任何SAX异常,可能包装另一个异常。 -
IOException
- 来自解析器的IO异常,可能来自应用程序提供的字节流或字符流。 - 参见:
-
parse
解析文档。- 指定者:
-
parse
在接口XMLReader
中 - 参数:
-
systemId
- 完全限定URI的系统标识符。 - 抛出:
-
SAXException
- 任何SAX异常,可能包装另一个异常。 -
IOException
- 来自解析器的IO异常,可能来自应用程序提供的字节流或字符流。 - 参见:
-
resolveEntity
过滤外部实体解析。- 指定者:
-
resolveEntity
在接口EntityResolver
中 - 参数:
-
publicId
- 实体的公共标识符,或null。 -
systemId
- 实体的系统标识符。 - 返回:
- 新的InputSource或默认值为null。
- 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 -
IOException
- 客户端在获取新InputSource时可能会抛出与I/O相关的异常。 - 参见:
-
notationDecl
过滤符号声明事件。- 指定者:
-
notationDecl
在接口DTDHandler
中 - 参数:
-
name
- 符号名称。 -
publicId
- 符号的公共标识符,或null。 -
systemId
- 符号的系统标识符,或null。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 - 参见:
-
unparsedEntityDecl
public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException 过滤未解析的实体声明事件。- 指定者:
-
unparsedEntityDecl
在接口DTDHandler
中 - 参数:
-
name
- 实体名称。 -
publicId
- 实体的公共标识符,或null。 -
systemId
- 实体的系统标识符,或null。 -
notationName
- 关联符号的名称。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 - 参见:
-
setDocumentLocator
过滤新文档定位器事件。- 指定者:
-
setDocumentLocator
在接口ContentHandler
中 - 参数:
-
locator
- 文档定位器。 - 参见:
-
startDocument
过滤开始文档事件。- 指定者:
-
startDocument
在接口ContentHandler
中 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 - 参见:
-
endDocument
过滤结束文档事件。- 指定者:
-
endDocument
在接口ContentHandler
中 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 - 参见:
-
startPrefixMapping
过滤开始命名空间前缀映射事件。- 指定者:
-
startPrefixMapping
在接口ContentHandler
中 - 参数:
-
prefix
- 命名空间前缀。 -
uri
- 命名空间URI。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 - 参见:
-
endPrefixMapping
过滤结束命名空间前缀映射事件。- 指定者:
-
endPrefixMapping
在接口ContentHandler
中 - 参数:
-
prefix
- 命名空间前缀。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 - 参见:
-
startElement
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException 过滤开始元素事件。- 指定者:
-
startElement
在接口ContentHandler
中 - 参数:
-
uri
- 元素的命名空间URI,或空字符串。 -
localName
- 元素的本地名称,或空字符串。 -
qName
- 元素的限定(带前缀)名称,或空字符串。 -
atts
- 元素的属性。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 - 参见:
-
endElement
过滤结束元素事件。- 指定者:
-
endElement
在接口ContentHandler
中 - 参数:
-
uri
- 元素的命名空间URI,或空字符串。 -
localName
- 元素的本地名称,或空字符串。 -
qName
- 元素的限定(带前缀)名称,或空字符串。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。
-
characters
过滤字符数据事件。- 指定者:
-
characters
在接口ContentHandler
中 - 参数:
-
ch
- 字符数组。 -
start
- 数组中的起始位置。 -
length
- 从数组中使用的字符数。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 - 参见:
-
ignorableWhitespace
过滤可忽略的空白字符事件。- 指定者:
-
ignorableWhitespace
在接口ContentHandler
中 - 参数:
-
ch
- 字符数组。 -
start
- 数组中的起始位置。 -
length
- 从数组中使用的字符数。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 - 参见:
-
processingInstruction
过滤处理指令事件。- 指定者:
-
processingInstruction
在接口ContentHandler
中 - 参数:
-
target
- 处理指令目标。 -
data
- 目标后面的文本。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。
-
skippedEntity
过滤跳过的实体事件。- 指定者:
-
skippedEntity
在接口ContentHandler
中 - 参数:
-
name
- 被跳过的实体的名称。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。
-
warning
过滤警告事件。- 指定者:
-
warning
在接口ErrorHandler
中 - 参数:
-
e
- 作为异常的警告。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 - 参见:
-
error
过滤错误事件。- 指定者:
-
error
在接口ErrorHandler
中 - 参数:
-
e
- 作为异常的错误。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。 - 参见:
-
fatalError
过滤致命错误事件。- 指定由:
-
fatalError
在接口ErrorHandler
- 参数:
-
e
- 作为异常的错误。 - 抛出:
-
SAXException
- 客户端在处理过程中可能会抛出异常。
-