org.jaxen.function

Class StringLengthFunction

public class StringLengthFunction extends Object implements Function

4.2 number string-length(string)

The string-length function returns the number of Unicode characters in its argument. This is not necessarily the same as the number Java chars in the corresponding Java string. In particular, if the Java String contains surrogate pairs each such pair will be counted as only one character by this function. If the argument is omitted, it returns the length of the string-value of the context node.

Author: bob mcwhirter (bob @ werken.com)

See Also: Section 4.2 of the XPath Specification

Constructor Summary
StringLengthFunction()
Create a new StringLengthFunction object.
Method Summary
Objectcall(Context context, List args)

Returns the number of Unicode characters in the string-value of the argument.

static Doubleevaluate(Object obj, Navigator nav)

Returns the number of Unicode characters in the string-value of an object.

Constructor Detail

StringLengthFunction

public StringLengthFunction()
Create a new StringLengthFunction object.

Method Detail

call

public Object call(Context context, List args)

Returns the number of Unicode characters in the string-value of the argument.

Parameters: context the context at the point in the expression when the function is called args a list containing the item whose string-value is to be counted. If empty, the length of the context node's string-value is returned.

Returns: a Double giving the number of Unicode characters

Throws: FunctionCallException if args has more than one item

evaluate

public static Double evaluate(Object obj, Navigator nav)

Returns the number of Unicode characters in the string-value of an object.

Parameters: obj the object whose string-value is counted nav used to calculate the string-values of the first two arguments

Returns: a Double giving the number of Unicode characters

Throws: FunctionCallException if the string contains mismatched surrogates