- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.xml.sax.ext.DefaultHandler2
-
- 实现的所有接口
-
ContentHandler
,DTDHandler
,EntityResolver
,ErrorHandler
,DeclHandler
,EntityResolver2
,LexicalHandler
public class DefaultHandler2extends DefaultHandlerimplements LexicalHandler, DeclHandler, EntityResolver2
此类扩展SAX2基本处理程序类,以支持SAX2LexicalHandler
,DeclHandler
和EntityResolver2
扩展。 除了覆盖原始SAX1resolveEntity()
方法之外,添加的处理程序方法只会返回。 子类可以逐个方法地覆盖所有内容。This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY.
注意:此类可能还知道ContentHandler.setDocumentLocator()调用可能会传递给
Locator2
对象,并且ContentHandler.startElement()调用可能会传递给Attributes2
对象。- 从以下版本开始:
- 1.5,SAX 2.0(扩展1.1 alpha)
-
-
构造方法摘要
构造方法 构造器 描述 DefaultHandler2()
构造一个忽略所有解析事件的处理程序。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 InputSource
getExternalSubset(String name, String baseURI)
告诉解析器如果文档文本中没有声明外部子集,则不应使用任何外部子集。InputSource
resolveEntity(String publicId, String systemId)
使用null实体名称和基URI调用EntityResolver2.resolveEntity()
。InputSource
resolveEntity(String name, String publicId, String baseURI, String systemId)
告诉解析器针对baseURI解析systemId,并从生成的绝对URI中读取实体文本。-
声明方法的类 org.xml.sax.helpers.DefaultHandler
characters, endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning
-
声明方法的类 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
声明方法的接口 org.xml.sax.ext.DeclHandler
attributeDecl, elementDecl, externalEntityDecl, internalEntityDecl
-
声明方法的接口 org.xml.sax.ext.LexicalHandler
comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity
-
-
-
-
方法详细信息
-
getExternalSubset
public InputSource getExternalSubset(String name, String baseURI) throws SAXException, IOException
告诉解析器如果文档文本中没有声明外部子集,则不应使用任何外部子集。- Specified by:
-
getExternalSubset
接口EntityResolver2
- 参数
-
name
- 标识文档根元素。 此名称来自DOCTYPE声明(如果可用)或来自实际的根元素。 -
baseURI
- 文档的基URI,用作选择外部子集的附加提示。 这始终是一个绝对URI,除非它是null,因为XMLReader被赋予了一个没有的InputSource。 - 结果
- 一个InputSource对象,描述解析器使用的新外部子集,或null,表示没有提供外部子集。
- 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 -
IOException
- 可能表示无法创建新的InputStream或Reader或非法URL。
-
resolveEntity
public InputSource resolveEntity(String name, String publicId, String baseURI, String systemId) throws SAXException, IOException
告诉解析器针对baseURI解析systemId,并从生成的绝对URI中读取实体文本。 请注意,因为旧的DefaultHandler.resolveEntity()
方法被重写以调用此方法,所以有时可以使用null name和baseURI调用此方法,并且systemId已经绝对化。- Specified by:
-
resolveEntity
接口EntityResolver2
- 参数
-
name
- 标识要解析的外部实体。 外部子集的“[dtd]”或者以“%”开头的名称表示参数实体,或者是一般实体的名称。 当SAX2解析器调用时,它永远不会为null。 -
publicId
- 正在引用的外部实体的公共标识符(根据XML规范的要求进行规范化),如果没有提供,则为null。 -
baseURI
- 解释相对systemID的URI。 这始终是一个绝对URI,除非它是null(可能是因为XMLReader没有给出一个InputSource)。 此URI由XML规范定义为与启动相关声明的“<”相关联的URI。 -
systemId
- 被引用的外部实体的系统标识符; 相对URI或绝对URI。 当SAX2解析器调用时,它永远不会为null; 只有声明的实体和任何外部子集才会被这样的解析器解析。 - 结果
- 一个InputSource对象,描述解析器要使用的新输入源。 返回null将指示解析器针对基URI解析系统ID并打开与结果URI的连接。
- 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 -
IOException
- 可能表示无法创建新的InputStream或Reader或非法URL。
-
resolveEntity
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
使用空实体名称和基URI调用EntityResolver2.resolveEntity()
。 您只需要覆盖该方法即可使用此类。- Specified by:
-
resolveEntity
接口EntityResolver
- 重写:
-
resolveEntity
在类DefaultHandler
- 参数
-
publicId
- 公共标识符,如果没有,则为null。 -
systemId
- XML文档中提供的系统标识符。 - 结果
- 新的输入源,或null以要求默认行为。
- 异常
-
SAXException
- 任何SAX异常,可能包含另一个异常。 -
IOException
- 如果设置新输入源时出错。 - 另请参见:
-
EntityResolver.resolveEntity(java.lang.String, java.lang.String)
-
-