Class StylesheetStripper

  • All Implemented Interfaces:
    javax.xml.transform.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 Detail

      • StylesheetStripper

        public StylesheetStripper()
    • Method Detail

      • 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