|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
public interface LSParserFilter
LSParserFilter 为应用程序提供了在解析期间构建节点时检查这些节点的能力。由于要检查每个节点,所以可能会修改或删除这些节点,或者会提前终止整个解析。
此时解析器会调用任何过滤器器方法,所有者 Document 和 DOMImplementation 对象存在并可访问。从不会将文档元素传递给 LSParserFilter 方法,即不可能过滤出文档元素。Document、DocumentType、Notation、Entity 和 Attr 节点从不会被传递给过滤器上的 acceptNode 方法。如果参数 "entities" 设置为 false,则把 EntityReference 节点的子节点传递给过滤器。注意,如参数 "entities" 所描述的那样,从不会丢弃未展开的实体引用节点,并且始终将它传递给过滤器。
解析文档期间,所有的有效性检查都像它出现在输入流上那样出现在源文档上,而不像在内存中构建它那样出现在 DOM 文档上。使用过滤器,内存中的文档可以是流上文档的子集,并且其有效性可能已受到了过滤的影响。
当将元素传递给过滤器方法时,所有的默认属性必须出现在这些元素上。所有其他默认内容也必须传递给过滤器方法。
DOM 应用程序不能引发过滤器中的异常。从过滤器中抛出异常产生的效果具有 DOM 实现依赖性。
另请参见《Document Object Model (DOM) Level 3 Load and Save Specification》。
| 字段摘要 | |
|---|---|
static short |
FILTER_ACCEPT
接受节点。 |
static short |
FILTER_INTERRUPT
中断对文档的常规处理。 |
static short |
FILTER_REJECT
拒绝节点及其子节点。 |
static short |
FILTER_SKIP
跳过此单个节点。 |
| 方法摘要 | |
|---|---|
short |
acceptNode(Node nodeArg)
此方法将由解析器在完成对每个节点的解析后调用。 |
int |
getWhatToShow()
告知 LSParser 将向方法 LSParserFilter.acceptNode 显示什么类型的节点。 |
short |
startElement(Element elementArg)
解析器将在扫描完每个 Element 启动标记后,处理其余的 Element 之前调用此方法。 |
| 字段详细信息 |
|---|
static final short FILTER_ACCEPT
static final short FILTER_REJECT
static final short FILTER_SKIP
static final short FILTER_INTERRUPT
| 方法详细信息 |
|---|
short startElement(Element elementArg)
Element 启动标记后,处理其余的 Element 之前调用此方法。其目的是允许有效跳过包括任何子元素在内的元素。注意,仅将元素节点传递给 startElement 函数。startElement 以便过滤的元素节点包括所有的 Element 属性,但不包括任何子节点。Element 还不能放构建的文档中适当的位置(它不能有父节点)。startElement 过滤器函数可以访问或更改 Element 的属性。更改 Namespace 声明不会对解析器的名称空间解析产生任何影响。
elementArg - 新遇到的元素。此时将调用此方法,元素不完整 - 它将有其自己的属性,但没有子项。
FILTER_ACCEPT 如果 Element 必须包括在要构建的 DOM 文档中。
FILTER_REJECT 如果 Element 及其所有的子项必须拒绝。
FILTER_SKIP 如果 Element 必须跳过。将把它所有的子项插入到跳过的 Element 节点位置。
FILTER_INTERRUPT 如果过滤器想停止对文档的处理。中断对文档的处理将不再保证得到的 DOM 树是格式良好的 XML。拒绝 Element。
short acceptNode(Node nodeArg)
nodeArg - 新构建的元素。此时调用此方法,该元素是完整的 - 它具有其所有的子节点(和它们的字节点,以此类推)和属性,并且作为子节点连接到它的父节点。
FILTER_ACCEPT 如果此 Node 必须包括在要构建的 DOM 文档中。
FILTER_REJECT 如果 Node 及其所有的子节点必须被拒绝。
FILTER_SKIP 如果 Node 必须跳过并且 Node 必须由 Node 的所有子节点代替。
FILTER_INTERRUPT 如果过滤器想停止对文档的处理。中止对文档的处理将不再保证得到的 DOM 树是格式良好的 XML。Node 被接受,并且将成为最后一个得到完整解析的节点。
int getWhatToShow()
LSParser 将向方法 LSParserFilter.acceptNode 显示什么类型的节点。如果没有将某个节点显示给使用此属性的过滤器,则该节点将自动包含在要构建的 DOM 文档中。有关对常量的定义请参见 NodeFilter。常量 SHOW_ATTRIBUTE、SHOW_DOCUMENT、SHOW_DOCUMENT_TYPE、SHOW_NOTATION、SHOW_ENTITY 和 SHOW_DOCUMENT_FRAGMENT 在此无意义。从不会将这些节点传递给 LSParserFilter.acceptNode。
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。