# Interface LSSerializerFilter

All Superinterfaces:
  `NodeFilter`

public interface LSSerializerFilter extends NodeFilter
`LSSerializerFilter`s provide applications the ability to examine nodes as they are being serialized and decide what nodes should be serialized or not. The `LSSerializerFilter` interface is based on the `NodeFilter` interface defined in [DOM Level 2 Traversal and Range] .

`Document`, `DocumentType`, `DocumentFragment`, `Notation`, `Entity` , and children of `Attr` nodes are not passed to the filter. The child nodes of an `EntityReference` node are only passed to the filter if the `EntityReference` node is skipped by the method `LSParserFilter.acceptNode()`.

When serializing an `Element`, the element is passed to the filter before any of its attributes are passed to the filter. Namespace declaration attributes, and default attributes (except in the case when " discard-default-content" is set to `false`), are never passed to the filter.

The result of any attempt to modify a node passed to a `LSSerializerFilter` is implementation dependent.

DOM applications must not raise exceptions in a filter. The effect of throwing exceptions from a filter is DOM implementation dependent.

For efficiency, a node passed to the filter may not be the same as the one that is actually in the tree. And the actual node (node object identity) may be reused during the process of filtering and serializing a document.

See also the Document Object Model (DOM) Level 3 Load and Save Specification.

Since:
  1.5

- ## Field Summary

  ### Fields declared in interface NodeFilter

  `FILTER_ACCEPT, FILTER_REJECT, FILTER_SKIP, SHOW_ALL, SHOW_ATTRIBUTE, SHOW_CDATA_SECTION, SHOW_COMMENT, SHOW_DOCUMENT, SHOW_DOCUMENT_FRAGMENT, SHOW_DOCUMENT_TYPE, SHOW_ELEMENT, SHOW_ENTITY, SHOW_ENTITY_REFERENCE, SHOW_NOTATION, SHOW_PROCESSING_INSTRUCTION, SHOW_TEXT`
  Modifier and Type
  Field
  Description
  `static final short`
  `FILTER_ACCEPT`
  Accept the node.
  `static final short`
  `FILTER_REJECT`
  Reject the node.
  `static final short`
  `FILTER_SKIP`
  Skip this single node.
  `static final int`
  `SHOW_ALL`
  Show all `Nodes`.
  `static final int`
  `SHOW_ATTRIBUTE`
  Show `Attr` nodes.
  `static final int`
  `SHOW_CDATA_SECTION`
  Show `CDATASection` nodes.
  `static final int`
  `SHOW_COMMENT`
  Show `Comment` nodes.
  `static final int`
  `SHOW_DOCUMENT`
  Show `Document` nodes.
  `static final int`
  `SHOW_DOCUMENT_FRAGMENT`
  Show `DocumentFragment` nodes.
  `static final int`
  `SHOW_DOCUMENT_TYPE`
  Show `DocumentType` nodes.
  `static final int`
  `SHOW_ELEMENT`
  Show `Element` nodes.
  `static final int`
  `SHOW_ENTITY`
  Show `Entity` nodes.
  `static final int`
  `SHOW_ENTITY_REFERENCE`
  Show `EntityReference` nodes.
  `static final int`
  `SHOW_NOTATION`
  Show `Notation` nodes.
  `static final int`
  `SHOW_PROCESSING_INSTRUCTION`
  Show `ProcessingInstruction` nodes.
  `static final int`
  `SHOW_TEXT`
  Show `Text` nodes.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getWhatToShow()`
  Tells the `LSSerializer` what types of nodes to show to the filter.

  ### Methods declared in interface NodeFilter

  `acceptNode`
  Modifier and Type
  Method
  Description
  `short`
  `acceptNode(Node n)`
  Test whether a specified node is visible in the logical view of a `TreeWalker` or `NodeIterator`.

- ## Method Details

  - ### getWhatToShow

    int getWhatToShow()
    Tells the `LSSerializer` what types of nodes to show to the filter. If a node is not shown to the filter using this attribute, it is automatically serialized. See `NodeFilter` for definition of the constants. The constants `SHOW_DOCUMENT` , `SHOW_DOCUMENT_TYPE`, `SHOW_DOCUMENT_FRAGMENT` , `SHOW_NOTATION`, and `SHOW_ENTITY` are meaningless here, such nodes will never be passed to a `LSSerializerFilter`.
    Unlike [DOM Level 2 Traversal and Range] , the `SHOW_ATTRIBUTE` constant indicates that the `Attr` nodes are shown and passed to the filter.
    The constants used here are defined in [DOM Level 2 Traversal and Range] .