net.sf.saxon.functions

Class Substring

public class Substring extends SystemFunction

This class implements the XPath substring() function
Method Summary
ItemevaluateItem(XPathContext context)
Evaluate the function
static CharSequencesubstring(StringValue sv, NumericValue start)
Implement the substring function with two arguments.
static CharSequencesubstring(StringValue sv, NumericValue start, NumericValue len, XPathContext context)
Implement the substring function with three arguments.
ExpressiontypeCheck(ExpressionVisitor visitor, ItemType contextItemType)
Type-check the expression.

Method Detail

evaluateItem

public Item evaluateItem(XPathContext context)
Evaluate the function

substring

public static CharSequence substring(StringValue sv, NumericValue start)
Implement the substring function with two arguments.

Parameters: sv the string value start the numeric offset (1-based) of the first character to be included in the result (if not an integer, the XPath rules apply)

Returns: the substring starting at this position.

substring

public static CharSequence substring(StringValue sv, NumericValue start, NumericValue len, XPathContext context)
Implement the substring function with three arguments.

Parameters: sv the string value start the numeric offset (1-based) of the first character to be included in the result (if not an integer, the XPath rules apply) len the length of the required substring (again, XPath rules apply) context the XPath dynamic context. Provided because some arithmetic computations require it

Returns: the substring starting at this position.

typeCheck

public Expression typeCheck(ExpressionVisitor visitor, ItemType contextItemType)
Type-check the expression. This also calls preEvaluate() to evaluate the function if all the arguments are constant; functions that do not require this behavior can override the preEvaluate method.