public interface LSParserFilter
LSParserFilters provide applications the ability to examine 
 nodes as they are being constructed while parsing. As each node is 
 examined, it may be modified or removed, or the entire parse may be 
 terminated early. 
  At the time any of the filter methods are called by the parser, the 
 owner Document and DOMImplementation objects exist and are accessible. 
 The document element is never passed to the LSParserFilter 
 methods, i.e. it is not possible to filter out the document element. 
 Document, DocumentType, Notation, 
 Entity, and Attr nodes are never passed to the 
 acceptNode method on the filter. The child nodes of an 
 EntityReference node are passed to the filter if the 
 parameter "
 entities" is set to false. Note that, as described by the parameter "
 entities", unexpanded entity reference nodes are never discarded and are always 
 passed to the filter. 
 
All validity checking while parsing a document occurs on the source document as it appears on the input stream, not on the DOM document as it is built in memory. With filters, the document in memory may be a subset of the document on the stream, and its validity may have been affected by the filtering.
All default attributes must be present on elements when the elements are passed to the filter methods. All other default content must be passed to the filter methods.
DOM applications must not raise exceptions in a filter. The effect of throwing exceptions from a filter is DOM implementation dependent.
See also the Document Object Model (DOM) Level 3 Load and Save Specification.
| Modifier and Type | Field and Description | 
|---|---|
| static short | FILTER_ACCEPTAccept the node. | 
| static short | FILTER_INTERRUPTInterrupt the normal processing of the document. | 
| static short | FILTER_REJECTReject the node and its children. | 
| static short | FILTER_SKIPSkip this single node. | 
| Modifier and Type | Method and Description | 
|---|---|
| short | acceptNode(Node nodeArg)This method will be called by the parser at the completion of the 
 parsing of each node. | 
| int | getWhatToShow()Tells the  LSParserwhat types of nodes to show to the 
 methodLSParserFilter.acceptNode. | 
| short | startElement(Element elementArg)The parser will call this method after each  Elementstart 
 tag has been scanned, but before the remainder of theElementis processed. | 
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 start 
 tag has been scanned, but before the remainder of the 
 Element is processed. The intent is to allow the 
 element, including any children, to be efficiently skipped. Note that 
 only element nodes are passed to the startElement 
 function. 
 startElement for filtering 
 will include all of the Element's attributes, but none of the 
 children nodes. The Element may not yet be in place in the document 
 being constructed (it may not have a parent node.) 
 startElement filter function may access or change 
 the attributes for the Element. Changing Namespace declarations will 
 have no effect on namespace resolution by the parser.
 elementArg - The newly encountered element. At the time this 
   method is called, the element is incomplete - it will have its 
   attributes, but no children.FILTER_ACCEPT if the Element should 
   be included in the DOM document being built. 
 FILTER_REJECT if the Element and all of 
   its children should be rejected. 
 FILTER_SKIP if the 
   Element should be skipped. All of its children are 
   inserted in place of the skipped Element node. 
 FILTER_INTERRUPT if the filter wants to stop the 
   processing of the document. Interrupting the processing of the 
   document does no longer guarantee that the resulting DOM tree is 
   XML well-formed. The Element is rejected. 
 short acceptNode(Node nodeArg)
nodeArg - The newly constructed element. At the time this method 
   is called, the element is complete - it has all of its children 
   (and their children, recursively) and attributes, and is attached 
   as a child to its parent.FILTER_ACCEPT if this Node should 
   be included in the DOM document being built. 
 FILTER_REJECT if the Node and all of its 
   children should be rejected. 
 FILTER_SKIP if the 
   Node should be skipped and the Node 
   should be replaced by all the children of the Node. 
 FILTER_INTERRUPT if the filter wants to stop the 
   processing of the document. Interrupting the processing of the 
   document does no longer guarantee that the resulting DOM tree is 
   XML well-formed. The Node is accepted and will be the 
   last completely parsed node. 
 int getWhatToShow()
LSParser what types of nodes to show to the 
 method LSParserFilter.acceptNode. If a node is not shown 
 to the filter using this attribute, it is automatically included in 
 the DOM document being built. See NodeFilter for 
 definition of the constants. The constants SHOW_ATTRIBUTE
 , SHOW_DOCUMENT, SHOW_DOCUMENT_TYPE, 
 SHOW_NOTATION, SHOW_ENTITY, and 
 SHOW_DOCUMENT_FRAGMENT are meaningless here. Those nodes 
 will never be passed to LSParserFilter.acceptNode. 
 Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.