net.sf.saxon.value
Class Whitespace

java.lang.Object
  extended by net.sf.saxon.value.Whitespace

public class Whitespace
extends Object

This class provides helper methods and constants for handling whitespace


Field Summary
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 UNSPECIFIED
           
static int XSLT
           
 
Method Summary
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(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
equals, 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.

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

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

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.


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