com.icl.saxon.om

## Class Stripper

- java.lang.Object
- - com.icl.saxon.output.Emitter
  - - com.icl.saxon.output.ProxyEmitter
    - - com.icl.saxon.om.Stripper

- All Implemented Interfaces:
    javax.xml.transform.Result
  Direct Known Subclasses:
    StylesheetStripper

      public class Stripper
      extends ProxyEmitter

  The Stripper class maintains details of which elements need to be stripped. The code is written to act as a SAX filter to do the stripping.

- - ### Field Summary

    - ### Fields inherited from class com.icl.saxon.output.ProxyEmitter

      `baseEmitter, outputProperties`

    - ### Fields inherited from class com.icl.saxon.output.Emitter

      `locator, outputStream, systemId, writer`

    - ### Fields inherited from interface javax.xml.transform.Result

      `PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `Stripper()` Default constructor for use in subclasses
    `` | `Stripper(Mode stripperRules)` create a Stripper and initialise variables

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `characters(char[] ch, int start, int length)` Callback interface for SAX: not for application use
    `void` | `endElement(int nameCode)` Callback interface for SAX: not for application use
    `boolean` | `getPreserveAll()` Determine if all whitespace is to be preserved (in this case, no further testing is needed)
    `boolean` | `getStripAll()` Determine if all whitespace is to be stripped (in this case, no further testing is needed)
    `boolean` | `isSpacePreserving(int nameCode)` Decide whether an element is in the set of white-space preserving element types
    `void` | `setController(Controller controller)` Set the Controller to be used
    `void` | `setPreserveAll()` Specify that all whitespace nodes are to be preserved
    `void` | `setStripAll()` Specify that all whitespace nodes are to be stripped
    `void` | `startDocument()` Callback interface for SAX: not for application use
    `void` | `startElement(int nameCode, org.xml.sax.Attributes atts, int[] namespaces, int nscount)` Callback interface for SAX: not for application use

    - ### Methods inherited from class com.icl.saxon.output.ProxyEmitter

      `comment, endDocument, processingInstruction, setDocumentLocator, setEscaping, setNamePool, setOutputProperties, setUnderlyingEmitter, setUnparsedEntity, setWriter`

    - ### Methods inherited from class com.icl.saxon.output.Emitter

      `getNamePool, getOutputProperties, getOutputStream, getSystemId, getWriter, makeEmitter, setOutputStream, setSystemId, usesWriter`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Stripper

          protected Stripper()

      Default constructor for use in subclasses

    - #### Stripper

          public Stripper(Mode stripperRules)

      create a Stripper and initialise variables
      Parameters:
        `stripperRules:` - defines which elements have whitespace stripped. If null, all whitespace is preserved.

  - ### Method Detail

    - #### setPreserveAll

          public void setPreserveAll()

      Specify that all whitespace nodes are to be preserved

    - #### getPreserveAll

          public boolean getPreserveAll()

      Determine if all whitespace is to be preserved (in this case, no further testing is needed)

    - #### setStripAll

          public void setStripAll()

      Specify that all whitespace nodes are to be stripped

    - #### getStripAll

          public boolean getStripAll()

      Determine if all whitespace is to be stripped (in this case, no further testing is needed)

    - #### setController

          public void setController(Controller controller)

      Set the Controller to be used

    - #### isSpacePreserving

          public boolean isSpacePreserving(int nameCode)

      Decide whether an element is in the set of white-space preserving element types
      Parameters:
        `uri` - The namespace URI of the element name
        `localname` - The local part of the element name
      Returns:
        true if the element is in the set of white-space preserving element types

    - #### startDocument

          public void startDocument()
                             throws javax.xml.transform.TransformerException

      Callback interface for SAX: not for application use
      Overrides:
        `startDocument` in class `ProxyEmitter`
      Throws:
        `javax.xml.transform.TransformerException`

    - #### startElement

          public void startElement(int nameCode,
                          org.xml.sax.Attributes atts,
                          int[] namespaces,
                          int nscount)
                            throws javax.xml.transform.TransformerException

      Callback interface for SAX: not for application use
      Overrides:
        `startElement` in class `ProxyEmitter`
        `namespaces` - Array of namespace codes identifying the namespace prefix/uri pairs associated with this element
        `nscount` - Number of significant entries within namespaces array
      Throws:
        `javax.xml.transform.TransformerException`

    - #### endElement

          public void endElement(int nameCode)
                          throws javax.xml.transform.TransformerException

      Callback interface for SAX: not for application use
      Overrides:
        `endElement` in class `ProxyEmitter`
      Throws:
        `javax.xml.transform.TransformerException`

    - #### characters

          public void characters(char[] ch,
                        int start,
                        int length)
                          throws javax.xml.transform.TransformerException

      Callback interface for SAX: not for application use
      Overrides:
        `characters` in class `ProxyEmitter`
      Throws:
        `javax.xml.transform.TransformerException`