Module java.xml
Package org.w3c.dom.ls

Interface LSSerializerFilter

所有超级接口:
NodeFilter

public interface LSSerializerFilter extends NodeFilter
LSSerializerFilter提供了应用程序检查节点在被序列化时的能力,并决定哪些节点应该被序列化或不被序列化。 LSSerializerFilter接口基于 [DOM Level 2 Traversal and Range] 中定义的 NodeFilter接口。

Document, DocumentType, DocumentFragment, Notation, Entity以及Attr节点的子节点不会传递给过滤器。只有当EntityReference节点被方法LSParserFilter.acceptNode()跳过时,EntityReference节点的子节点才会传递给过滤器。

在序列化一个Element时,该元素会在其任何属性被传递给过滤器之前传递给过滤器。命名空间声明属性和默认属性(除非"discard-default-content"设置为false)永远不会传递给过滤器。

尝试修改传递给LSSerializerFilter的节点的结果取决于实现。

DOM应用程序不得在过滤器中引发异常。从过滤器抛出异常的影响取决于DOM实现。

为了效率,传递给过滤器的节点可能与实际在树中的节点不同。在过滤和序列化文档的过程中,实际节点(节点对象标识)可能会被重用。

另请参阅文档对象模型(DOM)Level 3 Load and Save Specification

自版本:
1.5
  • Method Details

    • getWhatToShow

      int getWhatToShow()
      告诉LSSerializer要向过滤器显示哪些类型的节点。如果使用此属性未将节点显示给过滤器,则会自动序列化该节点。请参阅NodeFilter以获取常量的定义。常量SHOW_DOCUMENTSHOW_DOCUMENT_TYPESHOW_DOCUMENT_FRAGMENTSHOW_NOTATIONSHOW_ENTITY在此处无意义,这些节点永远不会传递给LSSerializerFilter
      与 [DOM Level 2 Traversal and Range] 不同,SHOW_ATTRIBUTE常量表示Attr节点会被显示并传递给过滤器。
      此处使用的常量在 [DOM Level 2 Traversal and Range] 中定义。