Class 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
  • Constructor Details

    • StylesheetStripper

      public StylesheetStripper()
  • Method Details

    • 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