Package net.sf.saxon.value
Class Whitespace
java.lang.Object
net.sf.saxon.value.Whitespace
This class provides helper methods and constants for handling whitespace
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn iterator that splits a string on whitespace boundaries, corresponding to the XPath 3.1 function tokenize#1 -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intThe values NONE, IGNORABLE, and ALL identify which kinds of whitespace text node should be stripped when building a source tree.static final intThe values PRESERVE, REPLACE, and COLLAPSE represent the three options for whitespace normalization.static final intstatic final intstatic final intstatic final int -
Method Summary
Modifier and TypeMethodDescriptionstatic CharSequenceapplyWhitespaceNormalization(int action, CharSequence value) Apply schema-defined whitespace normalization to a stringstatic CharSequenceCollapse whitespace as defined in XML Schema.static booleancontainsWhitespace(CharSequence value) Determine if a string contains any whitespacestatic booleanisWhite(char c) Determine if a character is whitespacestatic booleanisWhite(CharSequence content) Determine if a string is all-whitespacestatic booleanisWhitespace(int ch) Test whether a character is whitespacestatic CharSequenceNormalize whitespace as defined in XML Schema.static CharSequenceremoveAllWhitespace(CharSequence value) Remove all whitespace characters from a stringstatic CharSequenceRemove leading whitespace characters from a stringstatic Stringtrim(CharSequence s) Trim leading and trailing whitespace from a string, returning a string.static CharSequenceRemove leading and trailing whitespace.
-
Field Details
-
PRESERVE
public static final int PRESERVEThe 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:
-
REPLACE
public static final int REPLACE- See Also:
-
COLLAPSE
public static final int COLLAPSE- See Also:
-
TRIM
public static final int TRIM- See Also:
-
NONE
public static final int NONEThe 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:
-
IGNORABLE
public static final int IGNORABLE- See Also:
-
ALL
public static final int ALL- See Also:
-
UNSPECIFIED
public static final int UNSPECIFIED- See Also:
-
XSLT
public static final int XSLT- See Also:
-
-
Method Details
-
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
Apply schema-defined whitespace normalization to a string- Parameters:
action- the action to be applied: one of PRESERVE, REPLACE, or COLLAPSEvalue- the value to be normalized- Returns:
- the value after normalization
-
removeAllWhitespace
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
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
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
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 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
Normalize whitespace as defined in XML Schema. Note that this is not the same as the XPath normalize-space() function, which is supported by thecollapseWhitespace(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
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
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
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.
-