- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.xml.sax.ext.DefaultHandler2
-
- 实现的所有接口
-
ContentHandler,DTDHandler,EntityResolver,ErrorHandler,DeclHandler,EntityResolver2,LexicalHandler
public class DefaultHandler2 extends DefaultHandler implements 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()构造一个忽略所有解析事件的处理程序。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 InputSourcegetExternalSubset(String name, String baseURI)告诉解析器如果文档文本中没有声明外部子集,则不应使用任何外部子集。InputSourceresolveEntity(String publicId, String systemId)使用null实体名称和基URI调用EntityResolver2.resolveEntity()。InputSourceresolveEntity(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)
-
-