org.xml.sax.helpers

java.lang.Object
  继承者 org.xml.sax.helpers.XMLReaderAdapter
所有已实现的接口:
ContentHandler, Parser

public class XMLReaderAdapter
     
extends Object
implements Parser, ContentHandler

将 SAX2 XMLReader 适配为 SAX1 解析器。

此模块(包括源代码和文档)位于公共域中,对该模块不提供担保有关更多信息,请参阅 http://www.saxproject.org

此类包装 SAX2 XMLReader 并且使之充当 SAX1 Parser。XMLReader 必须支持 http://xml.org/sax/features/namespace-prefixes 属性的 true 值,否则解析将会失败,并抛出 SAXException;如果 XMLReader 支持 http://xml.org/sax/features/namespaces 属性的 false 值,这也将会被用于提高效率。

从以下版本开始:
SAX 2.0
另请参见:
Parser, XMLReader

构造方法摘要
XMLReaderAdapter()
          创建一个新的适配器。
XMLReaderAdapter(XMLReader xmlReader)
          创建一个新的适配器。
 
方法摘要
 void characters(char[] ch, int start, int length)
          适配 SAX2 字符事件。
 void endDocument()
          结束文档事件。
 void endElement(String uri, String localName, String qName)
          适配 SAX2 结束元素事件。
 void endPrefixMapping(String prefix)
          适配 SAX2 结束前缀映射事件。
 void ignorableWhitespace(char[] ch, int start, int length)
          适配 SAX2 忽略空白事件。
 void parse(InputSource input)
          解析文档。
 void parse(String systemId)
          解析文档。
 void processingInstruction(String target, String data)
          适配 SAX2 处理指令事件。
 void setDocumentHandler(DocumentHandler handler)
          注册 SAX1 文档事件处理程序。
 void setDocumentLocator(Locator locator)
          设置文档定位器。
 void setDTDHandler(DTDHandler handler)
          注册 DTD 事件处理程序。
 void setEntityResolver(EntityResolver resolver)
          注册实体解析器。
 void setErrorHandler(ErrorHandler handler)
          注册错误事件处理程序。
 void setLocale(Locale locale)
          设置错误报告的语言环境。
 void skippedEntity(String name)
          适配 SAX2 跳过的实体事件。
 void startDocument()
          开始文档事件。
 void startElement(String uri, String localName, String qName, Attributes atts)
          适配 SAX2 开始元素事件。
 void startPrefixMapping(String prefix, String uri)
          适配 SAX2 开始前缀映射事件。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

XMLReaderAdapter

public XMLReaderAdapter()
                 throws SAXException
创建一个新的适配器。

使用 "org.xml.sax.driver" 属性来查找要嵌入的 SAX2 驱动程序。

抛出:
SAXException - 如果无法实例化嵌入的驱动程序,或者未指定 org.xml.sax.driver 属性。

XMLReaderAdapter

public XMLReaderAdapter(XMLReader xmlReader)
创建一个新的适配器。

创建一个新的适配器,包装 SAX2 XMLReader。适配器将使 XMLReader 的作用与 SAX1 解析器类似。

参数:
xmlReader - 要包装的 SAX2 XMLReader。
抛出:
NullPointerException - 如果参数为 null。
方法详细信息

setLocale

public void setLocale(Locale locale)
               throws SAXException
设置错误报告的语言环境。

SAX2 中不支持这么做,并且总是抛出异常。

指定者:
接口 Parser 中的 setLocale
参数:
locale - 错误报告的语言环境。
抛出:
SAXException - 如果不重写则抛出该异常。
另请参见:
Parser.setLocale(java.util.Locale)

setEntityResolver

public void setEntityResolver(EntityResolver resolver)
注册实体解析器。

指定者:
接口 Parser 中的 setEntityResolver
参数:
resolver - 新的解析器。
另请参见:
Parser.setEntityResolver(org.xml.sax.EntityResolver)

setDTDHandler

public void setDTDHandler(DTDHandler handler)
注册 DTD 事件处理程序。

指定者:
接口 Parser 中的 setDTDHandler
参数:
handler - 新的 DTD 事件处理程序。
另请参见:
Parser.setDTDHandler(org.xml.sax.DTDHandler)

setDocumentHandler

public void setDocumentHandler(DocumentHandler handler)
注册 SAX1 文档事件处理程序。

注意,SAX1 文档处理程序不支持名称空间。

指定者:
接口 Parser 中的 setDocumentHandler
参数:
handler - 新的 SAX1 文档事件处理程序。
另请参见:
Parser.setDocumentHandler(org.xml.sax.DocumentHandler)

setErrorHandler

public void setErrorHandler(ErrorHandler handler)
注册错误事件处理程序。

指定者:
接口 Parser 中的 setErrorHandler
参数:
handler - 新的错误事件处理程序。
另请参见:
Parser.setErrorHandler(org.xml.sax.ErrorHandler)

parse

public void parse(String systemId)
           throws IOException,
                  SAXException
解析文档。

如果嵌入的 XMLReader 不支持 http://xml.org/sax/features/namespace-prefixes 属性,此方法将抛出异常。

指定者:
接口 Parser 中的 parse
参数:
systemId - 文档的绝对 URL。
抛出:
IOException - 如果在读取文档的原始内容时存在问题。
SAXException - 如果在处理文档时存在问题。
另请参见:
parse(org.xml.sax.InputSource), Parser.parse(java.lang.String)

parse

public void parse(InputSource input)
           throws IOException,
                  SAXException
解析文档。

如果嵌入的 XMLReader 不支持 http://xml.org/sax/features/namespace-prefixes 属性,此方法将抛出异常。

指定者:
接口 Parser 中的 parse
参数:
input - 文档的输入源。
抛出:
IOException - 如果在读取文档的原始内容时存在问题。
SAXException - 如果在处理文档时存在问题。
另请参见:
parse(java.lang.String), Parser.parse(org.xml.sax.InputSource)

setDocumentLocator

public void setDocumentLocator(Locator locator)
设置文档定位器。

指定者:
接口 ContentHandler 中的 setDocumentLocator
参数:
locator - 文档定位器。
另请参见:
ContentHandler.setDocumentLocator(org.xml.sax.Locator)

startDocument

public void startDocument()
                   throws SAXException
开始文档事件。

指定者:
接口 ContentHandler 中的 startDocument
抛出:
SAXException - 客户端可能引发一个处理异常。
另请参见:
ContentHandler.startDocument()

endDocument

public void endDocument()
                 throws SAXException
结束文档事件。

指定者:
接口 ContentHandler 中的 endDocument
抛出:
SAXException - 客户端可能引发一个处理异常。
另请参见:
ContentHandler.endDocument()

startPrefixMapping

public void startPrefixMapping(String prefix,
                               String uri)
适配 SAX2 开始前缀映射事件。

指定者:
接口 ContentHandler 中的 startPrefixMapping
参数:
prefix - 映射的前缀。
uri - 要映射到的名称空间 URI。
另请参见:
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)

endPrefixMapping

public void endPrefixMapping(String prefix)
适配 SAX2 结束前缀映射事件。

指定者:
接口 ContentHandler 中的 endPrefixMapping
参数:
prefix - 映射的前缀。
另请参见:
ContentHandler.endPrefixMapping(java.lang.String)

startElement

public void startElement(String uri,
                         String localName,
                         String qName,
                         Attributes atts)
                  throws SAXException
适配 SAX2 开始元素事件。

指定者:
接口 ContentHandler 中的 startElement
参数:
uri - 名称空间 URI。
localName - 名称空间本地名称。
qName - 限定的(前缀)名称。
atts - SAX2 属性。
抛出:
SAXException - 客户端可能引发一个处理异常。
另请参见:
ContentHandler.endDocument()

endElement

public void endElement(String uri,
                       String localName,
                       String qName)
                throws SAXException
适配 SAX2 结束元素事件。

指定者:
接口 ContentHandler 中的 endElement
参数:
uri - 名称空间 URI。
localName - 名称空间本地名称。
qName - 限定的(前缀)名称。
抛出:
SAXException - 客户端可能引发一个处理异常。
另请参见:
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws SAXException
适配 SAX2 字符事件。

指定者:
接口 ContentHandler 中的 characters
参数:
ch - 字符数组。
start - 数组中的开始位置。
length - 要使用的字符数。
抛出:
SAXException - 客户端可能引发一个处理异常。
另请参见:
ContentHandler.characters(char[], int, int)

ignorableWhitespace

public void ignorableWhitespace(char[] ch,
                                int start,
                                int length)
                         throws SAXException
适配 SAX2 忽略空白事件。

指定者:
接口 ContentHandler 中的 ignorableWhitespace
参数:
ch - 字符数组。
start - 数组中的开始位置。
length - 要使用的字符数。
抛出:
SAXException - 客户端可能引发一个处理异常。
另请参见:
ContentHandler.ignorableWhitespace(char[], int, int)

processingInstruction

public void processingInstruction(String target,
                                  String data)
                           throws SAXException
适配 SAX2 处理指令事件。

指定者:
接口 ContentHandler 中的 processingInstruction
参数:
target - 处理指令目标。
data - 处理指令的剩余部分
抛出:
SAXException - 客户端可能引发处理异常。
另请参见:
ContentHandler.processingInstruction(java.lang.String, java.lang.String)

skippedEntity

public void skippedEntity(String name)
                   throws SAXException
适配 SAX2 跳过的实体事件。

指定者:
接口 ContentHandler 中的 skippedEntity
参数:
name - 跳过的实体的名称。
抛出:
SAXException - 可由子类抛出。
另请参见:
ContentHandler.skippedEntity(java.lang.String)