| Prev Class | Next Class | Frames | No Frames |
| Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Objectnet.sf.saxon.expr.Expressionnet.sf.saxon.expr.FunctionCallnet.sf.saxon.functions.SystemFunctionnet.sf.saxon.functions.KeyFnField 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 | |
PathMap.PathMapNodeSet |
|
void |
|
int |
|
Expression |
|
StructuredQName |
|
static KeyFn |
|
SequenceIterator |
|
Expression |
|
Expression |
|
Expression |
|
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 | |
public PathMap.PathMapNodeSet addToPathMap(PathMap pathMap, PathMap.PathMapNodeSet pathMapNodeSet)
Add a representation of a doc() call or similar function to a PathMap. This is a convenience method called by the addToPathMap() methods for doc(), document(), collection() and similar functions. These all create a new root expression in the path map.
- Overrides:
- addToPathMap in interface Expression
- Parameters:
pathMap- the PathMap to which the expression should be addedpathMapNodeSet-
- Returns:
- the pathMapNode representing the focus established by this expression, in the case where this expression is the first operand of a path expression or filter expression
public void checkArguments(ExpressionVisitor visitor) throws XPathException
Method called during static type checking
- Overrides:
- checkArguments in interface SystemFunction
public int computeSpecialProperties()
Get the static properties of this expression (other than its type). The result is bit-signficant. These properties are used for optimizations. In general, if a property bit is set, it is true, but if it is unset, the value is unknown.
- Overrides:
- computeSpecialProperties in interface SystemFunction
public Expression copy()
Copy an expression. This makes a deep copy.
- Overrides:
- copy in interface SystemFunction
- Returns:
- the copy of the original expression
public StructuredQName getStaticKeyName()
Get the key name, if known statically. If not known statically, return null.
- Returns:
- the key name if known, otherwise null
public static KeyFn internalKeyCall(KeyDefinitionSet keySet, String name, Expression value, Expression doc)
Non-standard constructor to create an internal call on key() with a known key definition
- Parameters:
keySet- the set of KeyDefinitions (always a single KeyDefinition)name- the name allocated to the key (first argument of the function)value- the value being searched for (second argument of the function)doc- the document being searched (third argument)
- Returns:
- a call on the key() function
public SequenceIterator iterate(XPathContext context) throws XPathException
Enumerate the results of the expression
- Specified by:
- iterate in interface SequenceIterable
- Overrides:
- iterate in interface Expression
public Expression preEvaluate(ExpressionVisitor visitor)
preEvaluate: this method suppresses compile-time evaluation by doing nothing
- Overrides:
- preEvaluate in interface FunctionCall
- Parameters:
visitor- the expression visitor
public Expression simplify(ExpressionVisitor visitor) throws XPathException
Simplify: add a third implicit argument, the context document
- Overrides:
- simplify in interface FunctionCall
- Parameters:
visitor- the expression visitor
public Expression typeCheck(ExpressionVisitor visitor, ItemType contextItemType) throws XPathException
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.
- Overrides:
- typeCheck in interface FunctionCall