public class XMLFilterImpl extends Object implements XMLFilter, EntityResolver, DTDHandler, ContentHandler, ErrorHandler
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
和客户端应用程序的事件处理程序之间。 默认情况下,它不会将请求传递给读取器,并将事件传递给未处理的处理程序,但子类可以覆盖特定方法来修改事件流或配置请求,因为它们通过。
XMLFilter
, XMLReader
, EntityResolver
, DTDHandler
, ContentHandler
, ErrorHandler
Constructor and Description |
---|
XMLFilterImpl()
构造一个空的XML过滤器,没有父级。
|
XMLFilterImpl(XMLReader parent)
使用指定的父构造XML筛选器。
|
Modifier and Type | Method and Description |
---|---|
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)
过滤警告事件。
|
public XMLFilterImpl()
此过滤器将不具有父级:您必须在开始解析之前分配父级,或者使用setFeature或setProperty进行任何配置,除非将其用作纯事件消费者而不是XMLReader
。
public XMLFilterImpl(XMLReader parent)
public void setParent(XMLReader parent)
setParent
在接口
XMLFilter
parent
- 父XML阅读器。
getParent()
public XMLReader getParent()
getParent
在接口
XMLFilter
setParent(org.xml.sax.XMLReader)
public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException
如果父对象为空,这将始终失败。
setFeature
在接口
XMLReader
name
- 功能名称。
value
- 请求的特征值。
SAXNotRecognizedException
- 如果无法从父级分配或检索特征值。
SAXNotSupportedException
- 父母识别功能名称但无法设置请求的值时。
XMLReader.getFeature(java.lang.String)
public boolean getFeature(String name) throws SAXNotRecognizedException, SAXNotSupportedException
如果父对象为空,这将始终失败。
getFeature
在界面
XMLReader
name
- 功能名称。
SAXNotRecognizedException
- 如果无法从父级分配或检索要素值。
SAXNotSupportedException
- 当父母识别功能名称,但此时不能确定其值。
XMLReader.setFeature(java.lang.String, boolean)
public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException
如果父对象为空,这将始终失败。
setProperty
在界面
XMLReader
name
- 物业名称。
value
- 请求的属性值。
SAXNotRecognizedException
- 如果不能从父级分配或检索属性值。
SAXNotSupportedException
- 当父母识别属性名称但无法设置请求的值时。
public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
getProperty
在界面
XMLReader
name
- 物业名称。
SAXNotRecognizedException
- 如果属性值无法从父级分配或检索。
SAXNotSupportedException
- 当父母识别属性名称,但此时不能确定其值。
XMLReader.setProperty(java.lang.String, java.lang.Object)
public void setEntityResolver(EntityResolver resolver)
setEntityResolver
在界面
XMLReader
resolver
- 新的实体解析器。
XMLReader.getEntityResolver()
public EntityResolver getEntityResolver()
getEntityResolver
在接口
XMLReader
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
public void setDTDHandler(DTDHandler handler)
setDTDHandler
在接口
XMLReader
handler
- 新的DTD处理程序
XMLReader.getDTDHandler()
public DTDHandler getDTDHandler()
getDTDHandler
在界面
XMLReader
XMLReader.setDTDHandler(org.xml.sax.DTDHandler)
public void setContentHandler(ContentHandler handler)
setContentHandler
在界面
XMLReader
handler
- 新的内容处理程序
XMLReader.getContentHandler()
public ContentHandler getContentHandler()
getContentHandler
在界面
XMLReader
XMLReader.setContentHandler(org.xml.sax.ContentHandler)
public void setErrorHandler(ErrorHandler handler)
setErrorHandler
在界面
XMLReader
handler
- 新的错误处理程序
XMLReader.getErrorHandler()
public ErrorHandler getErrorHandler()
getErrorHandler
在界面
XMLReader
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler)
public void parse(InputSource input) throws SAXException, IOException
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)
public void parse(String systemId) throws SAXException, IOException
parse
在界面
XMLReader
systemId
- 系统标识符作为完全限定的URI。
SAXException
- 任何SAX异常,可能包装另一个异常。
IOException
- 解析器的IO异常,可能来自应用程序提供的字节流或字符流。
XMLReader.parse(org.xml.sax.InputSource)
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
resolveEntity
在界面
EntityResolver
publicId
- 实体的公共标识符,或null。
systemId
- 实体的系统标识符。
SAXException
- 客户端可能会在处理过程中引发异常。
IOException
- 客户端可能在获取新的InputSource时抛出与I / O相关的异常。
InputSource
public void notationDecl(String name, String publicId, String systemId) throws SAXException
notationDecl
在界面
DTDHandler
name
- 符号名称。
publicId
- 符号的公共标识符,或null。
systemId
- 符号的系统标识符,或null。
SAXException
- 客户端可能会在处理过程中引发异常。
DTDHandler.unparsedEntityDecl(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
, Attributes
public void unparsedEntityDecl(String name, String publicId, String systemId, String notationName) throws SAXException
unparsedEntityDecl
在接口
DTDHandler
name
- 实体名称。
publicId
- 实体的公共标识符,或null。
systemId
- 实体的系统标识符,或null。
notationName
- 关联符号的名称。
SAXException
- 客户端可能在处理期间抛出异常。
DTDHandler.notationDecl(java.lang.String, java.lang.String, java.lang.String)
, Attributes
public void setDocumentLocator(Locator locator)
setDocumentLocator
在界面
ContentHandler
locator
- 文档定位器。
Locator
public void startDocument() throws SAXException
startDocument
在界面
ContentHandler
SAXException
- 客户端可能会在处理过程中抛出异常。
ContentHandler.endDocument()
public void endDocument() throws SAXException
endDocument
在界面
ContentHandler
SAXException
- 客户端可能会在处理过程中抛出异常。
ContentHandler.startDocument()
public void startPrefixMapping(String prefix, String uri) throws SAXException
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)
public void endPrefixMapping(String prefix) throws SAXException
endPrefixMapping
在界面
ContentHandler
prefix
- 命名空间前缀。
SAXException
- 客户端可能会在处理过程中抛出异常。
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)
,
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException
startElement
在界面
ContentHandler
uri
- 元素的命名空间URI或空字符串。
localName
- 元素的本地名称或空字符串。
qName
- 元素的限定(前缀)名称或空字符串。
atts
- 元素的属性。
SAXException
- 客户端可能在处理期间抛出异常。
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
, Attributes
, AttributesImpl
public void endElement(String uri, String localName, String qName) throws SAXException
endElement
在接口
ContentHandler
uri
- 元素的命名空间URI或空字符串。
localName
- 元素的本地名称,或空字符串。
qName
- 元素的限定(前缀)名称或空字符串。
SAXException
- 客户端可能会在处理过程中抛出异常。
public void characters(char[] ch, int start, int length) throws SAXException
characters
在界面
ContentHandler
ch
- 一个字符数组。
start
- 数组中的起始位置。
length
- 要从数组使用的字符数。
SAXException
- 客户端可能会在处理过程中抛出异常。
ContentHandler.ignorableWhitespace(char[], int, int)
, Locator
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
ignorableWhitespace
在界面
ContentHandler
ch
-
ch
数组。
start
- 数组中的起始位置。
length
- 要从数组使用的字符数。
SAXException
- 客户端可能会在处理过程中引发异常。
ContentHandler.characters(char[], int, int)
public void processingInstruction(String target, String data) throws SAXException
processingInstruction
在界面
ContentHandler
target
- 处理指令目标。
data
- 目标
data
的文字。
SAXException
- 客户端可能会在处理过程中抛出异常。
public void skippedEntity(String name) throws SAXException
skippedEntity
在接口
ContentHandler
name
- 跳过的实体的名称。
SAXException
- 客户端可能会在处理过程中抛出异常。
public void warning(SAXParseException e) throws SAXException
warning
在界面
ErrorHandler
e
- 作为例外的警告。
SAXException
- 客户端可能在处理期间抛出异常。
SAXParseException
public void error(SAXParseException e) throws SAXException
error
在界面
ErrorHandler
e
- 作为例外的错误。
SAXException
- 客户端可能会在处理过程中引发异常。
SAXParseException
public void fatalError(SAXParseException e) throws SAXException
fatalError
在界面
ErrorHandler
e
- 作为例外的错误。
SAXException
- 客户端可能会在处理过程中抛出异常。
SAXParseException