Overview | Package | Class | Deprecated | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.event
Class Stripper

    java.lang.Object
      net.sf.saxon.event.SequenceReceiver
          net.sf.saxon.event.ProxyReceiver
              net.sf.saxon.event.Stripper

All Implemented Interfaces:
  javax.xml.transform.Result, Receiver

Direct Known Subclasses:
  AllElementStripper, StylesheetStripper

    public class Stripper

extends ProxyReceiver

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

Author:
  Michael H. Kay

Field Summary
`static byte` | `ALWAYS_PRESERVE`
`static byte` | `ALWAYS_STRIP`
`static byte` | `CANNOT_STRIP`
`static byte` | `PRESERVE_PARENT`
`static byte` | `STRIP_DEFAULT`

Fields inherited from class net.sf.saxon.event.ProxyReceiver
`nextReceiver`

Fields inherited from class net.sf.saxon.event.SequenceReceiver
`pipelineConfiguration, previousAtomic, systemId`

Fields inherited from interface javax.xml.transform.Result
`PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

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

Method Summary
`void` | `attribute(int nameCode, int typeCode, java.lang.CharSequence value, int locationId, int properties)` Notify an attribute.
`void` | `characters(java.lang.CharSequence chars, int locationId, int properties)` Handle a text node
`void` | `endElement()` Handle an end-of-element event
`Stripper` | `getAnother()` Get a clean copy of this stripper
`boolean` | `getStripAll()` Determine if all whitespace is to be stripped (in this case, no further testing is needed)
`byte` | `isSpacePreserving(int nameCode)` Decide whether an element is in the set of white-space preserving element types
`byte` | `isSpacePreserving(NodeInfo element)` Decide whether an element is in the set of white-space preserving element types.
`void` | `open()` Callback interface for SAX: not for application use
`void` | `setPipelineConfiguration(PipelineConfiguration pipe)` Set the pipeline configuration
`void` | `setStripAll()` Specify that all whitespace nodes are to be stripped
`void` | `setXPathContext(XPathContext context)` Set the XPath context
`void` | `startElement(int nameCode, int typeCode, int locationId, int properties)` Notify the start of an element

Methods inherited from class net.sf.saxon.event.ProxyReceiver
`append, close, comment, endDocument, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, processingInstruction, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument`

Methods inherited from class net.sf.saxon.event.SequenceReceiver
`getPipelineConfiguration, getSystemId`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ALWAYS_PRESERVE

    public static final byte ALWAYS_PRESERVE

See Also:
  Constant Field Values

### ALWAYS_STRIP

    public static final byte ALWAYS_STRIP

See Also:
  Constant Field Values

### STRIP_DEFAULT

    public static final byte STRIP_DEFAULT

See Also:
  Constant Field Values

### PRESERVE_PARENT

    public static final byte PRESERVE_PARENT

See Also:
  Constant Field Values

### CANNOT_STRIP

    public static final byte CANNOT_STRIP

See Also:
  Constant Field Values

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

### setXPathContext

    public void setXPathContext(XPathContext context)

  Set the XPath context

### getAnother

    public Stripper getAnother()

  Get a clean copy of this stripper

### 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)

### setPipelineConfiguration

    public void setPipelineConfiguration(PipelineConfiguration pipe)

  Description copied from interface: `Receiver`
  Set the pipeline configuration

  Specified by:
    `setPipelineConfiguration` in interface `Receiver`
  Overrides:
    `setPipelineConfiguration` in class `ProxyReceiver`
  Parameters:
    `pipe` - the pipeline configuration

### isSpacePreserving

    public byte isSpacePreserving(int nameCode)
                           throws XPathException

  Decide whether an element is in the set of white-space preserving element types

  Parameters:
    `nameCode` - Identifies the name of the element whose whitespace is to be preserved
  Returns:
    ALWAYS_PRESERVE if the element is in the set of white-space preserving element types, ALWAYS_STRIP if the element is to be stripped regardless of the xml:space setting, and STRIP_DEFAULT otherwise
  Throws:
    `XPathException`

### isSpacePreserving

    public byte isSpacePreserving(NodeInfo element)
                           throws XPathException

  Decide whether an element is in the set of white-space preserving element types. This version of the method is useful in cases where getting the namecode of the element is potentially expensive, e.g. with DOM nodes.

  Parameters:
    `element` - Identifies the element whose whitespace is possibly to be preserved
  Returns:
    ALWAYS_PRESERVE if the element is in the set of white-space preserving element types, ALWAYS_STRIP if the element is to be stripped regardless of the xml:space setting, and STRIP_DEFAULT otherwise
  Throws:
    `XPathException`

### open

    public void open()
              throws XPathException

  Callback interface for SAX: not for application use

  Specified by:
    `open` in interface `Receiver`
  Overrides:
    `open` in class `ProxyReceiver`
  Throws:
    `XPathException`

### startElement

    public void startElement(int nameCode,
                             int typeCode,
                             int locationId,
                             int properties)
                      throws XPathException

  Description copied from class: `ProxyReceiver`
  Notify the start of an element

  Specified by:
    `startElement` in interface `Receiver`
  Overrides:
    `startElement` in class `ProxyReceiver`
  Parameters:
    `nameCode` - integer code identifying the name of the element within the name pool.
    `typeCode` - integer code identifying the element's type within the name pool.
    `locationId` - an integer which can be interpreted using a `LocationProvider` to return information such as line number and system ID. If no location information is available, the value zero is supplied.
    `properties` - properties of the element node
  Throws:
    `XPathException`

### attribute

    public void attribute(int nameCode,
                          int typeCode,
                          java.lang.CharSequence value,
                          int locationId,
                          int properties)
                   throws XPathException

  Description copied from class: `ProxyReceiver`
  Notify an attribute. Attributes are notified after the startElement event, and before any children. Namespaces and attributes may be intermingled.

  Specified by:
    `attribute` in interface `Receiver`
  Overrides:
    `attribute` in class `ProxyReceiver`
  Parameters:
    `nameCode` - The name of the attribute, as held in the name pool
    `typeCode` - The type of the attribute, as held in the name pool
    `value` - the string value of the attribute
    `locationId` - an integer which can be interpreted using a `LocationProvider` to return information such as line number and system ID. If no location information is available, the value zero is supplied.
    `properties` - Bit significant value. The following bits are defined:
    DISABLE_ESCAPING
  Disable escaping for this attribute
    NO_SPECIAL_CHARACTERS
  Attribute value contains no special characters
  Throws:
    `XPathException`

### endElement

    public void endElement()
                    throws XPathException

  Handle an end-of-element event

  Specified by:
    `endElement` in interface `Receiver`
  Overrides:
    `endElement` in class `ProxyReceiver`
  Throws:
    `XPathException`

### characters

    public void characters(java.lang.CharSequence chars,
                           int locationId,
                           int properties)
                    throws XPathException

  Handle a text node

  Specified by:
    `characters` in interface `Receiver`
  Overrides:
    `characters` in class `ProxyReceiver`
  Parameters:
    `chars` - The characters
    `locationId` - an integer which can be interpreted using a `LocationProvider` to return information such as line number and system ID. If no location information is available, the value zero is supplied.
    `properties` - Bit significant value. The following bits are defined:
  DISABLE_ESCAPING
    Disable escaping for this text node
  USE_CDATA
    Output as a CDATA section
  Throws:
    `XPathException`

Overview | Package | Class | Deprecated | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) Saxonica Limited. All rights reserved.