net.sf.saxon.functions
Class Remove
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.Remove
- All Implemented Interfaces:
- Serializable, SourceLocator, EvaluableItem, SequenceIterable, InstructionInfoProvider
public class Remove
- extends SystemFunction
The XPath 2.0 remove() function
- See Also:
- Serialized Form
Nested Class Summary |
static class |
Remove.RemoveIterator
An implementation of SequenceIterator that returns all items except the one
at a specified position. |
Methods inherited from class net.sf.saxon.expr.FunctionCall |
addExternalFunctionCallToPathMap, equals, explain, getArguments, getDisplayName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, toString, typeCheck |
Methods inherited from class net.sf.saxon.expr.Expression |
addToPathMap, adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, display, doPromotion, effectiveBooleanValue, evaluateAsString, evaluateItem, explain, findParentOf, getCardinality, getColumnNumber, getContainer, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, iterateEvents, markTailFunctionCalls, process, setContainer, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation |
Remove
public Remove()
simplify
public Expression simplify(ExpressionVisitor visitor)
throws XPathException
- Simplify. Recognize remove(seq, 1) as a TailExpression.
- Overrides:
simplify
in class FunctionCall
- Parameters:
visitor
- an expression visitor
- Returns:
- the simplified expression
- Throws:
XPathException
- if an error is discovered during expression
rewriting
optimize
public Expression optimize(ExpressionVisitor visitor,
ItemType contextItemType)
throws XPathException
- Perform optimisation of an expression and its subexpressions.
This method is called after all references to functions and variables have been resolved
to the declaration of the function or variable, and after all type checking has been done.
- Overrides:
optimize
in class SystemFunction
- Parameters:
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
- Returns:
- the original expression, rewritten if appropriate to optimize execution
- Throws:
XPathException
- if an error is discovered during this phase
(typically a type error)
getItemType
public ItemType getItemType(TypeHierarchy th)
- Determine the data type of the items in the sequence
- Overrides:
getItemType
in class SystemFunction
- Parameters:
th
- the type hierarchy cache
- Returns:
- the type of the input sequence
iterate
public SequenceIterator iterate(XPathContext context)
throws XPathException
- Evaluate the function to return an iteration of selected nodes.
- Specified by:
iterate
in interface SequenceIterable
- Overrides:
iterate
in class Expression
- Parameters:
context
- supplies the context for evaluation
- Returns:
- a SequenceIterator that can be used to iterate over the result
of the expression
- Throws:
XPathException
- if any dynamic error occurs evaluating the
expression
Copyright (C) Michael H. Kay. All rights reserved.