public class KeyFn extends SystemFunctionCall
Modifier and Type | Class and Description |
---|---|
static class |
KeyFn.SubtreeFilter
Mapping class to filter nodes that have the origin node as an ancestor-or-self
|
operation
argument
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, INHERITED_CONTEXT, INSPECTION_CONTEXT, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, NAVIGATION_CONTEXT, NODE_VALUE_CONTEXT, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, W3C_CONSUMING, W3C_FREE_RANGING, W3C_GROUP_CONSUMING, W3C_MOTIONLESS, WATCH_METHOD
Constructor and Description |
---|
KeyFn() |
Modifier and Type | Method and Description |
---|---|
PathMap.PathMapNodeSet |
addToPathMap(PathMap pathMap,
PathMap.PathMapNodeSet pathMapNodeSet)
Add a representation of a doc() call or similar function to a PathMap.
|
Sequence |
call(XPathContext context,
Sequence[] arguments)
Evaluate the expression
|
void |
checkArguments(ExpressionVisitor visitor)
Method called during static type checking
|
int |
computeSpecialProperties()
Get the static properties of this expression (other than its type).
|
Expression |
copy()
Copy an expression.
|
boolean |
equals(Object o)
Determine whether two expressions are equivalent
|
ExpressionCompiler |
getExpressionCompiler()
Return the compiler of the KeyFn expression
|
boolean |
getInternal() |
NamespaceResolver |
getNamespaceResolver() |
StructuredQName |
getStaticKeyName()
Get the key name, if known statically.
|
KeyDefinitionSet |
getStaticKeySet() |
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
|
SequenceIterator |
iterate(XPathContext context)
Enumerate the results of the expression
|
Expression |
preEvaluate(ExpressionVisitor visitor)
preEvaluate: this method suppresses compile-time evaluation by doing nothing
|
Expression |
simplify(ExpressionVisitor visitor)
Simplify: add a third implicit argument, the context document
|
Expression |
typeCheck(ExpressionVisitor visitor,
ExpressionVisitor.ContextItemType contextItemType)
Type-check the expression.
|
addContextDocumentArgument, addDocToPathMap, bindStaticContext, computeCardinality, equalOrNull, getContextNode, getConvertingCallable, getDefaultArgumentNode, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getImplementationMethod, getItemType, getOperation, getRequiredType, iterateSubExpressionInfo, makeSystemFunction, optimize, setDetails, useContextItemAsDefault
addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, promote, replaceSubExpression, setArguments, setFunctionName, simplifyArguments, toString
adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getStreamability, getStreamingAdjunct, getSystemId, getSystemId, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toPattern, toStreamingPattern, typeError
public StructuredQName getStaticKeyName()
public KeyDefinitionSet getStaticKeySet()
public boolean getInternal()
public NamespaceResolver getNamespaceResolver()
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 static KeyFn internalKeyCall(KeyDefinitionSet keySet, String name, Expression value, Expression doc)
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)public Expression simplify(ExpressionVisitor visitor) throws XPathException
simplify
in class FunctionCall
visitor
- the expression visitorXPathException
- if an error is discovered during expression
rewritingpublic void checkArguments(ExpressionVisitor visitor) throws XPathException
SystemFunctionCall
checkArguments
in class SystemFunctionCall
visitor
- the expression visitorXPathException
- if the arguments are incorrectpublic int computeSpecialProperties()
computeSpecialProperties
in class SystemFunctionCall
public Expression preEvaluate(ExpressionVisitor visitor)
preEvaluate
in class FunctionCall
visitor
- the expression visitorpublic PathMap.PathMapNodeSet addToPathMap(PathMap pathMap, PathMap.PathMapNodeSet pathMapNodeSet)
addToPathMap
in class Expression
pathMap
- the PathMap to which the expression should be addedpathMapNodeSet
- the PathMapNodeSet to which the paths embodied in this expression should be addedpublic Expression copy()
copy
in class SystemFunctionCall
public boolean equals(Object o)
equals
in class SystemFunctionCall
public SequenceIterator iterate(XPathContext context) throws XPathException
iterate
in class Expression
context
- supplies the context for evaluationXPathException
- if any dynamic error occurs evaluating the
expressionpublic ExpressionCompiler getExpressionCompiler()
getExpressionCompiler
in class Expression
public Sequence call(XPathContext context, Sequence[] arguments) throws XPathException
context
- the dynamic evaluation contextarguments
- the values of the arguments, supplied as SequencesXPathException
- if a dynamic error occurs during the evaluation of the expressionCopyright (c) 2004-2013 Saxonica Limited. All rights reserved.