Class WhitespaceStrippingPolicy

java.lang.Object
net.sf.saxon.s9api.WhitespaceStrippingPolicy

public class WhitespaceStrippingPolicy extends Object
WhitespaceStrippingPolicy is class defining the possible policies for handling whitespace text nodes in a source document.
  • Field Details

    • NONE

      public static final WhitespaceStrippingPolicy NONE
      The value NONE indicates that all whitespace text nodes are retained. This is the default when documents are processed without validation.
    • IGNORABLE

      public static final WhitespaceStrippingPolicy IGNORABLE
      The value IGNORABLE indicates that whitespace text nodes in element-only content are discarded. Content is element-only if it is defined by a schema or DTD definition that does not allow mixed or PCDATA content. This option is in effect documentary only, since this policy is always used when DTD or schema validation is selected for a DocumentBuilder, and is equivalent to NONE otherwise.
    • ALL

      public static final WhitespaceStrippingPolicy ALL
      The value ALL indicates that all whitespace-only text nodes are discarded.
    • UNSPECIFIED

      public static final WhitespaceStrippingPolicy UNSPECIFIED
      UNSPECIFIED means that no other value has been specifically requested.
  • Constructor Details

    • WhitespaceStrippingPolicy

      protected WhitespaceStrippingPolicy(StylesheetPackage pack)
      Create a WhitespaceStrippingPolicy based on the xsl:strip-space and xsl:preserve-space declarations in a given XSLT stylesheet package
      Parameters:
      pack - the stylesheet package containing the xsl:strip-space and xsl:preserve-space declarations
  • Method Details

    • makeCustomPolicy

      public static WhitespaceStrippingPolicy makeCustomPolicy(Predicate<QName> elementTest)
      Create a custom whitespace stripping policy, by supplying a predicate that indicates for any given element, whether whitespace text nodes among its children should be stripped or preserved. Note that xml:space attributes that might be present have no effect on the outcome, and the decision applies only to immediate children, not to descendants.

      Changed in 9.9 to use the standard Java 8 Predicate class in place of Saxon's version.

      Parameters:
      elementTest - a predicate applied to element names, which should return true if whitespace-only text node children of the element are to be stripped, false if they are to be retained.
      Returns:
      the whitespace stripping policy
    • ordinal

      protected int ordinal()
    • getSpaceStrippingRule

      protected SpaceStrippingRule getSpaceStrippingRule()
    • makeStripper

      protected FilterFactory makeStripper()