net.sf.saxon.functions

Class Substring

Implemented Interfaces:
EvaluableItem, InstructionInfoProvider, SequenceIterable, Serializable, SourceLocator

public class Substring
extends SystemFunction

This class implements the XPath substring() function

Field Summary

Fields inherited from class net.sf.saxon.functions.SystemFunction

operation

Fields inherited from class net.sf.saxon.expr.FunctionCall

argument

Fields inherited from class net.sf.saxon.expr.Expression

EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD, locationId, staticProperties

Method Summary

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

Methods inherited from class net.sf.saxon.functions.SystemFunction

addContextDocumentArgument, addDocToPathMap, checkArguments, computeCardinality, computeSpecialProperties, copy, getDetails, getErrorCodeForTypeErrors, getItemType, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault

Methods inherited from class net.sf.saxon.expr.FunctionCall

addExternalFunctionCallToPathMap, checkArgumentCount, checkArguments, equals, explain, getArguments, getDisplayName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, optimize, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck

Methods inherited from class net.sf.saxon.expr.Expression

addToPathMap, adoptChildExpression, checkPermittedContents, computeCardinality, computeDependencies, computeSpecialProperties, computeStaticProperties, copy, display, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, explain, explain, findParentOf, getCardinality, getColumnNumber, getConstructType, getContainer, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getItemType, getLineNumber, getLocationId, getLocationProvider, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, iterate, iterateEvents, iterateSubExpressions, markTailFunctionCalls, optimize, process, promote, replaceSubExpression, resetLocalStaticProperties, setContainer, setFiltered, setFlattened, setLocationId, simplify, staticTypeCheck, suppressValidation, toString, typeCheck, typeError

Method Details

evaluateItem

public Item evaluateItem(XPathContext context)
            throws XPathException
Evaluate the function
Specified by:
evaluateItem in interface EvaluableItem
Overrides:
evaluateItem in interface Expression

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.