public class Substring extends SystemFunction
operation
argument
EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, PROCESS_METHOD, PUSH_SELECTION, staticProperties, WATCH_METHOD
Constructor and Description |
---|
Substring() |
Modifier and Type | Method and Description |
---|---|
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.
|
Expression |
typeCheck(ExpressionVisitor visitor,
ItemType contextItemType)
Type-check the expression.
|
addContextDocumentArgument, addDocToPathMap, checkArguments, computeCardinality, computeSpecialProperties, copy, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault
addExternalFunctionCallToPathMap, checkArgumentCount, equals, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError
public Expression typeCheck(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException
typeCheck
in class FunctionCall
visitor
- an expression visitorcontextItemType
- the static type of "." at the point where this expression is invoked.
The parameter is set to null if it is known statically that the context item will be undefined.
If the type of the context item is not known statically, the argument is set to
Type.ITEM_TYPE
XPathException
- if an error is discovered during this phase
(typically a type error)public Item evaluateItem(XPathContext context) throws XPathException
evaluateItem
in interface EvaluableItem
evaluateItem
in class Expression
context
- The context in which the expression is to be evaluatedXPathException
- if any dynamic error occurs evaluating the
expressionpublic static CharSequence substring(StringValue sv, NumericValue start)
sv
- the string valuestart
- the numeric offset (1-based) of the first character to be included in the result
(if not an integer, the XPath rules apply)public static CharSequence substring(StringValue sv, NumericValue start, NumericValue len, XPathContext context)
sv
- the string valuestart
- 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