java.lang.Objectorg.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<