public class XMLReaderAdapter extends Object implements Parser, ContentHandler
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.
这个类包装一个SAX2 XMLReader
并使其作为SAX1 Parser
。 XMLReader必须支持http://xml.org/sax/features/namespace-prefixes属性的真实值,否则解析将失败,并带有SAXException
; 如果XMLReader支持http://xml.org/sax/features/namespaces属性的错误值,那么这也将用于提高效率。
Constructor and Description |
---|
XMLReaderAdapter()
创建一个新的适配器。
|
XMLReaderAdapter(XMLReader xmlReader)
创建一个新的适配器。
|
Modifier and Type | Method and Description |
---|---|
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启动前缀映射事件。
|
public XMLReaderAdapter() throws SAXException
使用“org.xml.sax.driver”属性找到要嵌入的SAX2驱动程序。
SAXException
- 如果嵌入式驱动程序无法实例化或未指定org.xml.sax.driver属性。
public XMLReaderAdapter(XMLReader xmlReader)
创建一个新的适配器,包裹着一个SAX2 XMLReader。 该适配器将使XMLReader的行为像SAX1解析器。
xmlReader
- 要包装的SAX2 XMLReader。
NullPointerException
- 如果参数为空。
public void setLocale(Locale locale) throws SAXException
这在SAX2中不受支持,并且将始终抛出异常。
setLocale
在接口
Parser
locale
- 错误报告的区域设置。
SAXException
- 抛出,除非被覆盖。
Parser.setLocale(java.util.Locale)
public void setEntityResolver(EntityResolver resolver)
setEntityResolver
在接口
Parser
resolver
- 新的解析器。
Parser.setEntityResolver(org.xml.sax.EntityResolver)
public void setDTDHandler(DTDHandler handler)
setDTDHandler
在界面
Parser
handler
- 新的DTD事件处理程序。
Parser.setDTDHandler(org.xml.sax.DTDHandler)
public void setDocumentHandler(DocumentHandler handler)
请注意,SAX1文档处理程序不支持命名空间。
setDocumentHandler
在界面
Parser
handler
- 新的SAX1文档事件处理程序。
Parser.setDocumentHandler(org.xml.sax.DocumentHandler)
public void setErrorHandler(ErrorHandler handler)
setErrorHandler
在界面
Parser
handler
- 新的错误事件处理程序。
Parser.setErrorHandler(org.xml.sax.ErrorHandler)
public void parse(String systemId) throws IOException, SAXException
如果嵌入式XMLReader不支持http://xml.org/sax/features/namespace-prefixes属性,则此方法将抛出异常。
parse
在界面
Parser
systemId
- 文档的绝对URL。
IOException
- 如果阅读文档的原始内容时出现问题。
SAXException
- 如果处理文档时出现问题。
parse(org.xml.sax.InputSource)
,
Parser.parse(java.lang.String)
public void parse(InputSource input) throws IOException, SAXException
如果嵌入式XMLReader不支持http://xml.org/sax/features/namespace-prefixes属性,则此方法将抛出异常。
parse
在界面
Parser
input
- 文档的输入源。
IOException
- 如果读取文档的原始内容有问题。
SAXException
- 如果处理文档时出现问题。
parse(java.lang.String)
,
Parser.parse(org.xml.sax.InputSource)
public void setDocumentLocator(Locator locator)
setDocumentLocator
在接口
ContentHandler
locator
- 文档定位器。
ContentHandler.setDocumentLocator(org.xml.sax.Locator)
public void startDocument() throws SAXException
startDocument
在界面
ContentHandler
SAXException
- 客户端可能会引发处理异常。
ContentHandler.startDocument()
public void endDocument() throws SAXException
endDocument
在界面
ContentHandler
SAXException
- 客户端可能会引发处理异常。
ContentHandler.endDocument()
public void startPrefixMapping(String prefix, String uri)
startPrefixMapping
在界面
ContentHandler
prefix
- 映射的前缀。
uri
- 映射到的名称空间URI。
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)
public void endPrefixMapping(String prefix)
endPrefixMapping
在界面
ContentHandler
prefix
- 映射的前缀。
ContentHandler.endPrefixMapping(java.lang.String)
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException
startElement
在界面
ContentHandler
uri
- 命名空间URI。
localName
- 命名空间本地名称。
qName
- 合格(前缀)名称。
atts
- SAX2属性。
SAXException
- 客户端可能会引发处理异常。
ContentHandler.endDocument()
public void endElement(String uri, String localName, String qName) throws SAXException
endElement
在界面
ContentHandler
uri
- 命名空间URI。
localName
- 命名空间本地名称。
qName
- 合格(前缀)名称。
SAXException
- 客户端可能会引发处理异常。
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
public void characters(char[] ch, int start, int length) throws SAXException
characters
在界面
ContentHandler
ch
- 一个字符数组。
start
- 数组中的起始位置。
length
- 要使用的字符数
SAXException
- 客户端可能会引发处理异常。
ContentHandler.characters(char[], int, int)
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
ignorableWhitespace
在界面
ContentHandler
ch
- 一个字符数组。
start
- 数组中的起始位置。
length
- 要使用的字符数。
SAXException
- 客户端可能会引发处理异常。
ContentHandler.ignorableWhitespace(char[], int, int)
public void processingInstruction(String target, String data) throws SAXException
processingInstruction
在接口
ContentHandler
target
- 处理指令目标。
data
- 处理指令的其余部分
SAXException
- 客户端可能会引发处理异常。
ContentHandler.processingInstruction(java.lang.String, java.lang.String)
public void skippedEntity(String name) throws SAXException
skippedEntity
在界面
ContentHandler
name
- 跳过的实体的名称。
SAXException
- 由子类抛弃。
ContentHandler.skippedEntity(java.lang.String)