Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.KeyFn
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 | |
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