net.sf.saxon.style
Class StylesheetStripper

java.lang.Object
  extended by net.sf.saxon.event.SequenceReceiver
      extended by net.sf.saxon.event.ProxyReceiver
          extended by net.sf.saxon.event.Stripper
              extended by net.sf.saxon.style.StylesheetStripper
All Implemented Interfaces:
Result, Receiver

public class StylesheetStripper
extends Stripper

The StylesheetStripper refines the Stripper class to do stripping of whitespace nodes on a stylesheet. This is handled specially (a) because it is done at compile time, so there is no Controller available, and (b) because the rules are very simple

Author:
Michael H. Kay

Field Summary
 
Fields inherited from class net.sf.saxon.event.Stripper
ALWAYS_PRESERVE, ALWAYS_STRIP, CANNOT_STRIP, PRESERVE_PARENT, STRIP_DEFAULT
 
Fields inherited from interface javax.xml.transform.Result
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING
 
Constructor Summary
StylesheetStripper()
           
 
Method Summary
 Stripper getAnother()
          Get a clean copy of this stripper
 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 setStylesheetRules(NamePool namePool)
          Set the rules appropriate for whitespace-stripping in a stylesheet
 
Methods inherited from class net.sf.saxon.event.Stripper
attribute, characters, endElement, getStripAll, open, setPipelineConfiguration, setStripAll, setXPathContext, startElement
 
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
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StylesheetStripper

public StylesheetStripper()
Method Detail

getAnother

public Stripper getAnother()
Description copied from class: Stripper
Get a clean copy of this stripper

Overrides:
getAnother in class Stripper

setStylesheetRules

public void setStylesheetRules(NamePool namePool)
Set the rules appropriate for whitespace-stripping in a stylesheet


isSpacePreserving

public byte isSpacePreserving(int nameCode)
Decide whether an element is in the set of white-space preserving element types

Overrides:
isSpacePreserving in class Stripper
Parameters:
nameCode - identifies the element being tested
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

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.

Overrides:
isSpacePreserving in class Stripper
Parameters:
element - Identifies the element whose whitespace is possibly to be preserved
Returns:
true if the element is in the set of white-space preserving element types
Throws:
XPathException


Copyright (C) Michael H. Kay. All rights reserved.