Module  java.xml
软件包  org.w3c.dom.ls

Interface LSSerializerFilter

  • All Superinterfaces:
    NodeFilter


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

    DocumentDocumentTypeDocumentFragmentNotationEntity ,和孩子Attr节点不会传递给过滤器。 如果方法LSParserFilter.acceptNode()跳过EntityReference节点,则EntityReference节点的子节点仅传递给过滤器。

    当序列化一个Element ,元素将传递给过滤器,然后将其任何属性传递给过滤器。 命名空间声明属性和默认属性(在“discard-default-content”设置为false的情况下除外),不会传递给过滤器。

    任何尝试修改传递给LSSerializerFilter的节点的LSSerializerFilter都是依赖于实现的。

    DOM应用程序不能在过滤器中引发异常。 从过滤器抛出异常的效果是依赖于DOM实现的。

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

    另见Document Object Model (DOM) Level 3 Load and Save Specification

    从以下版本开始:
    1.5
    • 方法详细信息

      • getWhatToShow

        int getWhatToShow​()
        告诉LSSerializer筛选器显示什么类型的节点。 如果节点没有使用此属性显示给过滤器,则会自动序列化。 有关NodeFilter的定义,请参阅NodeFilter 常量SHOW_DOCUMENTSHOW_DOCUMENT_TYPESHOW_DOCUMENT_FRAGMENTSHOW_NOTATION ,并SHOW_ENTITY都是没有意义的位置,这样的节点将永远不会被传递到LSSerializerFilter
        与[ DOM Level 2 Traversal and Range ]不同, SHOW_ATTRIBUTE常量表示Attr节点被显示并传递给过滤器。
        这里使用的常数在[ DOM Level 2 Traversal and Range ]中定义。