java.lang.Object org.xml.sax.helpers.XMLFilterImpl
public class XMLFilterImpl
派生 XML 过滤器的基类。
此模块(包括源代码和文档)位于公共域中,对该模块不提供担保。有关更多信息,请参阅 http://www.saxproject.org。。
此类设计为位于 XMLReader
和客户端应用程序的事件处理程序之间。默认情况下,除了将请求传递给阅读器和将事件传递给未修改的处理程序外,不执行其他操作。但是,子类可以重写特定方法在它们传递时修改事件流或配置请求。
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 |
构造方法详细信息 |
---|
public XMLFilterImpl()
此过滤器将没有父过滤器:在使用 setFeature 或 setProperty 开始解析或执行任何操作之前您必须分配一个父过滤器,除非将其用作纯事件使用者而非 XMLReader
。
public XMLFilterImpl(XMLReader parent)
方法详细信息 |
---|
public void setParent(XMLReader parent)
这是 XMLReader
,此过滤器将从其中获取它的事件并向其传递配置请求。父过滤器本身还有可能是其他过滤器。
如果没有设置父读取器,则解析、设置或获得功能或属性的任何尝试都不会成功。
parent
- 父 XML 读取器。
getParent()
public XMLReader getParent()
setParent(org.xml.sax.XMLReader)
public void setFeature(String name, boolean value) throws SAXNotRecognizedException, SAXNotSupportedException
如果父功能为 null,则始终会失败。
XMLReader
中的
setFeature
name
- 功能名称。
value
- 请求的功能值。
SAXNotRecognizedException
- 如果功能值不能从父功能分配或检索。
SAXNotSupportedException
- 当父功能识别功名称,但不能设置请求的值时。
XMLReader.getFeature(java.lang.String)
public boolean getFeature(String name) throws SAXNotRecognizedException, SAXNotSupportedException
如果父功能为 null,则始终会失败。
XMLReader
中的
getFeature
name
- 功能名称。
SAXNotRecognizedException
- 如果功能值不能从父功能分配或检索。
SAXNotSupportedException
- 当父功能识别功能名称,但此时不能确定其值时。
XMLReader.setFeature(java.lang.String, boolean)
public void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException
如果父属性为 null,则始终会失败。
XMLReader
中的
setProperty
name
- 属性名。
value
- 请求的属性值。
SAXNotRecognizedException
- 如果属性值不能从父属性分配或检索。
SAXNotSupportedException
- 当父属性识别属性名称,但不能设置请求的值时。
public Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
XMLReader
中的
getProperty
name
- 属性名。
SAXNotRecognizedException
- 如果属性值不能从父属性分配或检索。
SAXNotSupportedException
- 当父属性识别属性名称,但此时不能确定其值时。
XMLReader.setProperty(java.lang.String, java.lang.Object)
public void setEntityResolver(EntityResolver resolver)
XMLReader
中的
setEntityResolver
resolver
- 新实体解析器。
XMLReader.getEntityResolver()
public EntityResolver getEntityResolver()
XMLReader
中的
getEntityResolver
XMLReader.setEntityResolver(org.xml.sax.EntityResolver)
public void setDTDHandler(DTDHandler handler)
XMLReader
中的
setDTDHandler
handler
- 新的 DTD 处理程序。
XMLReader.getDTDHandler()
public DTDHandler getDTDHandler()
XMLReader
中的
getDTDHandler
XMLReader.setDTDHandler(org.xml.sax.DTDHandler)
public void setContentHandler(ContentHandler handler)
XMLReader
中的
setContentHandler
handler
- 新的内容处理程序
XMLReader.getContentHandler()
public ContentHandler getContentHandler()
XMLReader
中的
getContentHandler
XMLReader.setContentHandler(org.xml.sax.ContentHandler)
public void setErrorHandler(ErrorHandler handler)
XMLReader
中的
setErrorHandler
handler
- 新的错误处理程序
XMLReader.getErrorHandler()
public ErrorHandler getErrorHandler()
XMLReader
中的
getErrorHandler
XMLReader.setErrorHandler(org.xml.sax.ErrorHandler)
public void parse(InputSource input) throws SAXException, IOException
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
systemId
- 作为完全限定 URI 的系统标识符。
SAXException
- 任何 SAX 异常,可能包装另外的异常。
IOException
- 来自解析器的 IO 异常,可能来自应用程序提供的字节流或字符流。
XMLReader.parse(org.xml.sax.InputSource)
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
EntityResolver
中的
resolveEntity
publicId
- 实体的公开标识符,或者为 null。
systemId
- 实体的系统标识符。
SAXException
- 客户端可以在处理过程中抛出一个异常。
IOException
- 客户端可以在获取新 InputSource 的同时抛出一个与 I/O 相关的异常。
InputSource
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
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
public void setDocumentLocator(Locator locator)
ContentHandler
中的
setDocumentLocator
locator
- 文档定位器。
Locator
public void startDocument() throws SAXException
ContentHandler
中的
startDocument
SAXException
- 客户端可以在处理过程中抛出一个异常。
ContentHandler.endDocument()
public void endDocument() throws SAXException
ContentHandler
中的
endDocument
SAXException
- 客户端可以在处理过程中抛出一个异常。
ContentHandler.startDocument()
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)
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)
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException
ContentHandler
中的
startElement<