javatm platform
standard ed. 6

org.xml.sax.ext
类 defaulthandler2

java.lang.object 继承者 org.xml.sax.helpers.defaulthandler 继承者 org.xml.sax.ext.defaulthandler2
所有{suǒ yǒu}已实现的接口:
contenthandler, dtdhandler, entityresolver, errorhandler, declhandler, entityresolver2, lexicalhandler

public class defaulthandler2
extends defaulthandler
implements lexicalhandler, declhandler, entityresolver2

此类扩展 sax2 基本处理程序类,以支持{support} sax2 lexicalhandlerdeclhandlerentityresolver2 扩展。除了重写原始 sax1 resolveentity() 方法之外,仅返回添加的处理程序方法。子类可能{would}在逐个方法的基础上重写每个事情{affair}。

此模块(包括{included}源代码和文档)在公共域中,同时 没有担保

注:此类可能{would}仍知道{knew} contenthandler.setdocumentlocator() 调用可能被传递一个 locator2 对象,并且 contenthandler.startelement() 调用被传递一个 attributes2 对象。

从以下版本开始{kāi shǐ}:
sax 2.0 (extensions 1.1 alpha)

构造方法摘要
defaulthandler2()
          构造忽略所有解析事件的处理程序。
 
方法摘要
 voidattributedecl(string ename,string aname,string type,string mode,string value)
          报告属性类型声明。
 voidcomment(char[] ch,int start,int length)
          报告文档的任何位置{locates}的 xml 注释。
 voidelementdecl(string name,string model)
          报告元素类型声明。
 voidendcdata()
          报告 cdata 节的结束{End}。
 voidenddtd()
          报告 dtd 声明的结束{End}。
 voidendentity(string name)
          报告实体的结束。
 voidexternalentitydecl(string name,string publicid,string systemid)
          报告解析的外部实体声明。
 inputsourcegetexternalsubset(string name,string baseuri)
          告知解析器如果在文档文本中没有声明任何外部子集,则不应使用任何外部子集。
 voidinternalentitydecl(string name,string value)js随机数
          报告内部实体声明。
 inputsourceresolveentity(string publicid,string systemid)
          使用 null 实体名称和基 uri 调用 entityresolver2.resolveentity()
 inputsourceresolveentity(string name,string publicid,string baseuri,string systemid)
          告知解析器根据 baseuri 解析 systemid,并从产生的绝对 uri 读取实体文本。
 voidstartcdata()
          报告 cdata 节的开始{kāi shǐ}。
 voidstartdtd(string name,string publicid,string systemid)
          报告 dtd 声明的开始(如果存在)。
 voidstartentity(string name)
          报告一些内部和外部 xml 实体的开始。
 
从类 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
 

构造方法详细衶gǎn}畔

defaulthandler2

public defaulthandler2()
构造忽略所有解析事件的处理程序。

方法详细信息

startcdata

public void startcdata()    throws saxexception
从接口 lexicalhandler 复制的描述
报告 cdata 节的开始。

通过常规 characters 事件报告 cdata 节的内容;此事件仅用于报告边界。

指定者:
接口 lexicalhandler 中的 startcdata
抛出:
saxexception - 应用程序可能引发一个异常。
另请参见:
lexicalhandler.endcdata()

endcdata

public void endcdata()   throws saxexception
从接口 lexicalhandler 复制的描述
报告 cdata 节的结束。

指定者:
接口 lexicalhandler 中的 endcdata
抛出:
saxexception - 应用程序可能引发一个异常。
另请参见:
lexicalhandler.startcdata()

startdtd

public void startdtd(string name,     string publicid,     string systemid)   throws saxexception
从接口 lexicalhandler 复制的描述
报告 dtd 声明的开始(如果存在)。

此方法主要{main}用于报告 doctype 声明的开始;如果文档没有任何 doctype 声明,则不调用此方法。

通过 dtdhandlerdeclhandler 事件报告的所有声明必须在 startdtd 和 enddtd 事件之间出现{There}。可以{can}假设声明属于内部 dtd 子集,除非它们在 startentityendentity 事件之间出现{There}。也应该{yīng gāi}在 startdtd 和 enddtd 事件之间,以事件出现的原始顺序(逻辑)报告 dtd 的注释和处理指令;但是{dàn shì},它们不需要出现在相对于 dtdhandler 或 declhandler 事件的正确位置{locates}。

注意{zhù yì},start/enddtd 事件将出现在 contenthandler 的 start/enddocument 事件中,并在第一个 startelement 事件之前。

指定者:
接口 lexicalhandler 中的 startdtd
参数:
name - 文档类型名称。
publicid - 用于外部 dtd 子集的已声明的公共标识符,如果没有声明,则为 null。
systemid - 用于外部 dtd 子集的已声明的系统公共标识符,如果没有声明,则为 null。(注意{zhù yì},这不能根据文档基 uri 解析)
抛出:
saxexception - 应用程序可能引发一个异常。
另请参见:
lexicalhandler.enddtd(),lexicalhandler.startentity(java.lang.string)
以亲子驾驶为主题的的铃鹿赛道乐园,从日本{rì běn}引进多项亲子共驾的车辆设施,讲求自主操控设施与亲子共学安全{safest}驾驶的特色,是不少亲子家庭{jiā tíng}前来朝圣的新乐园;为了让孩子能体验投票{piào}的乐趣,园区不仅{not only}增设可爱{ài}投票{piào}所,还挂上可爱{ài}的竞选三角旗帜,增添浓浓的选举氛围
托马斯回忆,她被强迫与老师{teacher}一起{yī qǐ}离开{absence}学校{school},每天她早上都会淋浴,觉得{felt}自己{his}很?a?v,睡觉时她也不能走出房间,行为完全{completely}被控制
有司机透露,整改后的滴滴对于深夜{shēn yè}服务{fú wù}的司机审核机制变得更严格,要求必须是无犯罪记录{jì lù}者
根据越南{yuè nán}中央高层领导健康照顾处处长阮国赵(Nguyen Quoc Trieu)的说法,陈大光遭到罕见病毒感染,但医师并没有找到治疗方法;自2017年7月生病后,曾六度{ dù}赴日接受{jiē shòu}治疗9月11日,印尼总统{zǒng tǒng}佐科维多多(Joko Widodo)现身河内进行访问{visit}时,陈大光疑似身体不适,在上台途中差点跌倒陈大光于1956年生于越南{yuè nán}北部的宁平省,拥有博士学位与教授职称,是越南共产党主要{main}领导人之一
他并向在场乡亲保证,将秉持忠勇公的精神,爱乡爱土,保家卫民,用心治理屏东县政,打造屏东成为{Become}农渔业大县、观光大县、社福长照大县,让屏东县脱胎换骨,往上提升
有司机透露,整改后的滴滴对于深夜{shēn yè}服务{fú wù}的司机审核机制变得更严格,要求必须是无犯罪记录{jì lù}者
王智盛指出,陆方罕见以宣示性做法,这在过去相当罕见;按以往案例,陆方在相关案件的公布时间点选择上,什么时候{When}操作,皆相当精?省?

enddtd

public void enddtd()  throws saxexception
从接口 lexicalhandler 复制的描述
报告 dtd 声明的结束。

此方法主要用于报告 doctype 声明的结束;如果文档没有任何 doctype 声明,则不调用此方法。

指定者:
接口 lexicalhandler 中的 enddtd
抛出:
saxexception - 应用程序可能引发一个异常。
另请参见:
lexicalhandler.startdtd(java.lang.string, java.lang.string, java.lang.string)

startentity

public void startentity(string name)   throws saxexception
从接口 lexicalhandler 复制的描述
报告一些内部和外部 xml 实体的开始。

参数实体(包括{included}外部 dtd 子集)的报告是可选的,报告 lexicalhandler 事件的 sax2 驱动程序不能实现它;可以{can}使用 http://xml.org/sax/features/lexical-handler/parameter-entities 功能查询或控制参数实体的报告。

使用其正规名称报告常规实体,参数实体具有置于其名称前的 "%",并且外部 dtd 子集具有伪实体名 "[dtd]"。

在 sax2 驱动程序提供这些事件时,所有其他{other}事件必须在开始/结束实体事件中正确嵌套。不存在对来自 declhandlerdtdhandler 的事件进行正确排序的 附加要求。

注意,跳过的实体将通过 skippedentity 事件(是 contenthandler 接口的一部分)报告。

由于{yóu yú} sax 使用的流事件模型,不能在任何环境下报告某些实体边界:

将默认扩展上述实体,而不指示原始实体边界的位置。

还要注意,不报告字符引用(实际上它不是实体)的边界。

必须正确嵌套所有 start/endentity 事件。

指定者:
接口 lexicalhandler 中的 startentity
参数:
name - 实体的名称。如果是参数实体,则名称将以 "%" 开头,如果是外部 dtd 子集,则将是 "[dtd]"。
抛出:
saxexception - 应用程序可能引发一个异常。
另请参见:
lexicalhandler.endentity(java.lang.string),declhandler.internalentitydecl(java.lang.string, java.lang.string),declhandler.externalentitydecl(java.lang.string, java.lang.string, java.lang.string)

endentity

public void endentity(string name)    throws saxexception
从接口 lexicalhandler 复制的描述
报告实体的结束。

指定者:
接口 lexicalhandler 中的 endentity
参数:
name - 正在结束的实体名称。
抛出:
saxexception - 应用程序可能引发一个异常。
另请参见:
lexicalhandler.startentity(java.lang.string)

comment

public void comment(char[] ch,    int start,    int length)   throws saxexception
从接口 lexicalhandler 复制的描述
报告文档的任何位置的 xml 注释。

此回调将用于文档元素内外的注释,包括外部 dtd 子集中的注释(如果读取)。必须在 start/enddtd 和 start/endentity 事件内部正确嵌套 dtd 中的注释(如果已使用)。

指定者:
接口 lexicalhandler 中的 comment
参数:
ch - 保存注释中的字符的数组。
start - 数组中的开始位置。
length - 使用的数组中的字符数。
抛出:
saxexception - 应用程序可能引发一个异常。

attributedecl

public void attributedecl(string ename,     string aname,     string type,     string mode,     string value)    throws saxexception
从接口 declhandler 复制的描述
报告属性类型声明。

将仅报告属性的有效(第一个)声明。类型将是以下字符串之一:"cdata"、"id"、"idref"、"idrefs"、"nmtoken"、"nmtokens"、"entity"、"entities"、移除所有空格的带有分隔符 "|" 的加上括号的标记组,或后跟一个空格再跟随移除所有空白的加上括号的标记组的单词 "notation"。

值将是报告给应用程序、被适当标准化的值,它带有实体和扩展的字符引用。

指定者:
接口 declhandler 中的 attributedecl
参数:
ename - 关联元素的名称。
aname - 属性的名称。
type - 表示属性类型的字符串。
mode - 表示属性默认模式("#implied"、"#required" 或 "#fixed")的字符串,如果不应用上述模式,则为 null。
value - 表示属性的默认值的字符串,如果不存在,则为 null。
抛出:
saxexception - 应用程序可能引发一个异常。

elementdecl

public void elementdecl(string name,    string model)   throws saxexception
从接口 declhandler 复制的描述
报告元素类型声明。

内容模型将由字符串 "empty"、字符串 "any" 或用括号括起来的组组成,可以选择后面跟随一个出现指示符。将使模型标准化,以便完全{completely}解析所有的参数实体,并移除所有的空白,并将包括括号。其他{other}标准化(例如,移除多余的括号或简化出现指示符)是由解析器决定的。

指定者:
接口 declhandler 中的 elementdecl
参数:
name - 元素类型名称。
model - 作为标准化字符串的内容模型。
抛出:
saxexception - 应用程序可能引发一个异常。

externalentitydecl

public void externalentitydecl(string name,      string publicid,      string systemid)    throws saxexception
从接口 declhandler 复制的描述
报告解析的外部实体声明。

将仅报告每个实体的有效(第一个)声明。

如果系统标识符是 url,则解析器必须在将它传递给应用程序之前完全解析它。

指定者:
接口 declhandler 中的 externalentitydecl
参数:
name - 实体的名称。如果是参数实体,则名称以 "%" 开头。
publicid - 实体的公共标识符,如果没有给定,则为 null。
systemid - 实体的系统标识符。
抛出:
saxexceptionjs随机数 - 应用程序可能引发一个异常。
另请参见:
declhandler.internalentitydecl(java.lang.string, java.lang.string),dtdhandler.unparsedentitydecl(java.lang.string, java.lang.string, java.lang.string, java.lang.string)

internalentitydecl

public void internalentitydecl(string name,      string value)    throws saxexception
从接口 declhandler 复制的描述
报告内部实体声明。

将仅报告每个实体的有效(第一个)声明。将扩展值中的所有参数实体,但不扩展常规实体。

指定者:
接口 declhandler 中的 internalentitydecl
参数:
name - 实体的名称。如果是参数实体,则名称以 "%" 开头。
value - 实体的替换文本。
抛出:
saxexception - 应用程序可能引发一个异常。
另请参见:
declhandler.externalentitydecl(java.lang.string, java.lang.string, java.lang.string),dtdhandler.unparsedentitydecl(java.lang.string, java.lang.string, java.lang.string, java.lang.string)

getexternalsubset网站地图 手机端

public inputsource getexternalsubset(string name,       string baseuri)     throws saxexception,       ioexception
告知解析器如果在文档文本中没有声明任何外部子集,则不应使用任何外部子集。

指定者:
接口 entityresolver2 中的 getexternalsubset
参数:
name - 标识文档根元素。此名称来自 doctype 声明(如果可用),或来自实际的根元素。
baseuri - 文档的基 uri,充当选择外部子集的附加提示{tí shì}。这总是一个绝对 uri,除非由于{yóu yú}向 xmlreader 提供了一个不带 uri 的 inputsource 而使它为 null 时。
返回:
描述解析器使用的新外部子集的 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 名称baseuri 以及已经{yǐ jing}绝对化的 systemid 调用此方法。

指定者:
接口 entityresolver2 中的 resolveentity
参数:
name - 标识正被解析的外部实体。外部子集的 "[dtd]",或者以 "%" 开头用来指示参数实体的名称,或者常规实体的名称。在由 sax2 解析器调用时,它永不能为 null。
publicid - 被引用的外部实体的公共标识符(按照 xml 规范的要求标准化),如果不提供任何内容,则为 null。
baseuri - 关于解释哪个相对 systemid 的 uri。这总是一个绝对 uri,除非它为 null(可能因为向 xmlreader 提供了一个不带 uri 的 inputsource)。xml 规范定义了此 uri,它是与开始相关声明的 "<" 相关联的 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
使用 null 实体名称和基 uri 调用 entityresolver2.resolveentity()。为使用此类,只需重写该方法。

指定者:
接口 entityresolver 中的 resolveentity
覆盖:
defaulthandler 中的 resolveentity
参数:
publicid - 公共标识符,如果没有可用的,则为 null。
systemid - 在 xml 文档中提供的系统标识符。
返回:
新的输入源,或返回 null,以要求默认的行为。
抛出:
saxexception - 任何 sax 异常,可能包装另外的异常。
ioexception - 特定于 java 的 io 异常,可能是由于为 inputsource 创建新的 inputstream 或 reader 所导致的。
另请参见:
entityresolver.resolveentity(java.lang.string, java.lang.string)

javatm platform
standard ed. 6

提交错误或意见{yì jian}
有关更多的 api 参考资料和开发{kāi fā}人员文档,请参阅 java se 开发{kāi fā}人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作{gōng zuò}代码示例。

版权所有 2007 sun microsystems, inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策