java.io.Serializable
, javax.xml.transform.SourceLocator
, LocationProvider
, SaxonLocator
, InstructionInfo
, org.xml.sax.Locator
public class Substring extends SystemFunction
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD
argument
operation
Constructor | Description |
---|---|
Substring() |
Modifier and Type | Method | Description |
---|---|---|
Item |
evaluateItem(XPathContext context) |
Evaluate the function
|
static java.lang.CharSequence |
substring(StringValue sv,
NumericValue start) |
Implement the substring function with two arguments.
|
static java.lang.CharSequence |
substring(StringValue sv,
NumericValue start,
NumericValue len,
XPathContext context) |
Implement the substring function with three arguments.
|
Expression |
typeCheck(ExpressionVisitor visitor,
ExpressionVisitor.ContextItemType contextItemType) |
Type-check the expression.
|
addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError
addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
addContextDocumentArgument, addDocToPathMap, checkArguments, computeCardinality, computeSpecialProperties, copy, equals, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getOperation, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault
public Expression typeCheck(ExpressionVisitor visitor, ExpressionVisitor.ContextItemType 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 class Expression
context
- The context in which the expression is to be evaluatedXPathException
- if any dynamic error occurs evaluating the
expressionpublic static java.lang.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 java.lang.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