net.sf.saxon.value

## Class Whitespace

- java.lang.Object
- - net.sf.saxon.value.Whitespace

-     public class Whitespace
      extends Object

  This class provides helper methods and constants for handling whitespace

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `ALL`
    `static int` | `COLLAPSE`
    `static int` | `IGNORABLE`
    `static int` | `NONE` The values NONE, IGNORABLE, and ALL identify which kinds of whitespace text node should be stripped when building a source tree.
    `static int` | `PRESERVE` The values PRESERVE, REPLACE, and COLLAPSE represent the three options for whitespace normalization.
    `static int` | `REPLACE`
    `static int` | `TRIM`
    `static int` | `UNSPECIFIED`
    `static int` | `XSLT`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static CharSequence` | `applyWhitespaceNormalization(int action, CharSequence value)` Apply schema-defined whitespace normalization to a string
    `static CharSequence` | `collapseWhitespace(CharSequence in)` Collapse whitespace as defined in XML Schema.
    `static boolean` | `containsWhitespace(CharSequence value)` Determine if a string contains any whitespace
    `static boolean` | `isWhite(char c)` Determine if a character is whitespace
    `static boolean` | `isWhite(CharSequence content)` Determine if a string is all-whitespace
    `static boolean` | `isWhitespace(int ch)` Test whether a character is whitespace
    `static CharSequence` | `normalizeWhitespace(CharSequence in)` Normalize whitespace as defined in XML Schema.
    `static CharSequence` | `removeAllWhitespace(CharSequence value)` Remove all whitespace characters from a string
    `static CharSequence` | `removeLeadingWhitespace(CharSequence value)` Remove leading whitespace characters from a string
    `static String` | `trim(CharSequence s)` Trim leading and trailing whitespace from a string, returning a string.
    `static CharSequence` | `trimWhitespace(CharSequence in)` Remove leading and trailing whitespace.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### PRESERVE

          public static final int PRESERVE

      The values PRESERVE, REPLACE, and COLLAPSE represent the three options for whitespace normalization. They are deliberately chosen in ascending strength order; given a number of whitespace facets, only the strongest needs to be carried out. The option TRIM is used instead of COLLAPSE when all valid values have no interior whitespace; trimming leading and trailing whitespace is then equivalent to the action of COLLAPSE, but faster.
      See Also:
        Constant Field Values

    - #### REPLACE

          public static final int REPLACE

      See Also:
        Constant Field Values

    - #### COLLAPSE

          public static final int COLLAPSE

      See Also:
        Constant Field Values

    - #### TRIM

          public static final int TRIM

      See Also:
        Constant Field Values

    - #### NONE

          public static final int NONE

      The values NONE, IGNORABLE, and ALL identify which kinds of whitespace text node should be stripped when building a source tree. UNSPECIFIED indicates that no particular request has been made. XSLT indicates that whitespace should be stripped as defined by the xsl:strip-space and xsl:preserve-space declarations in the stylesheet
      See Also:
        Constant Field Values

    - #### IGNORABLE

          public static final int IGNORABLE

      See Also:
        Constant Field Values

    - #### ALL

          public static final int ALL

      See Also:
        Constant Field Values

    - #### UNSPECIFIED

          public static final int UNSPECIFIED

      See Also:
        Constant Field Values

    - #### XSLT

          public static final int XSLT

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### isWhitespace

          public static boolean isWhitespace(int ch)

      Test whether a character is whitespace
      Parameters:
        `ch` - the character (Unicode codepoint) to be tested
      Returns:
        true if the character is one of tab, newline, carriage return, or space

    - #### applyWhitespaceNormalization

          public static CharSequence applyWhitespaceNormalization(int action,
                                                  CharSequence value)

      Apply schema-defined whitespace normalization to a string
      Parameters:
        `action` - the action to be applied: one of PRESERVE, REPLACE, or COLLAPSE
        `value` - the value to be normalized
      Returns:
        the value after normalization

    - #### removeAllWhitespace

          public static CharSequence removeAllWhitespace(CharSequence value)

      Remove all whitespace characters from a string
      Parameters:
        `value` - the string from which whitespace is to be removed
      Returns:
        the string without its whitespace. This may be the original value if it contained no whitespace

    - #### removeLeadingWhitespace

          public static CharSequence removeLeadingWhitespace(CharSequence value)

      Remove leading whitespace characters from a string
      Parameters:
        `value` - the string whose leading whitespace is to be removed
      Returns:
        the string with leading whitespace removed. This may be the original string if there was no leading whitespace

    - #### containsWhitespace

          public static boolean containsWhitespace(CharSequence value)

      Determine if a string contains any whitespace
      Parameters:
        `value` - the string to be tested
      Returns:
        true if the string contains a character that is XML whitespace, that is tab, newline, carriage return, or space

    - #### isWhite

          public static boolean isWhite(CharSequence content)

      Determine if a string is all-whitespace
      Parameters:
        `content` - the string to be tested
      Returns:
        true if the supplied string contains no non-whitespace characters

    - #### isWhite

          public static final boolean isWhite(char c)

      Determine if a character is whitespace
      Parameters:
        `c` - the character to be tested
      Returns:
        true if the character is a whitespace character

    - #### normalizeWhitespace

          public static CharSequence normalizeWhitespace(CharSequence in)

      Normalize whitespace as defined in XML Schema. Note that this is not the same as the XPath normalize-space() function, which is supported by the `collapseWhitespace(java.lang.CharSequence)` method
      Parameters:
        `in` - the string to be normalized
      Returns:
        a copy of the string in which any whitespace character is replaced by a single space character

    - #### collapseWhitespace

          public static CharSequence collapseWhitespace(CharSequence in)

      Collapse whitespace as defined in XML Schema. This is equivalent to the XPath normalize-space() function
      Parameters:
        `in` - the string whose whitespace is to be collapsed
      Returns:
        the string with any leading or trailing whitespace removed, and any internal sequence of whitespace characters replaced with a single space character.

    - #### trimWhitespace

          public static CharSequence trimWhitespace(CharSequence in)

      Remove leading and trailing whitespace. This has the same effect as collapseWhitespace, but is cheaper, for use by data types that do not allow internal whitespace.
      Parameters:
        `in` - the input string whose whitespace is to be removed
      Returns:
        the result of removing excess whitespace

    - #### trim

          public static String trim(CharSequence s)

      Trim leading and trailing whitespace from a string, returning a string. This differs from the Java trim() method in that the only characters treated as whitespace are space, \n, \r, and \t. The String#trim() method removes all C0 control characters (which is not the same thing under XML 1.1).
      Parameters:
        `s` - the string to be trimmed. If null is supplied, null is returned.
      Returns:
        the string with leading and trailing whitespace removed. Returns null if and only if the supplied argument is null.

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.