public class Collection extends SystemFunctionCall implements Callable
CollectionURIResolver
. For the effect of the default
system-supplied CollectionURIResolver, see StandardCollectionURIResolver
Modifier and Type | Field and Description |
---|---|
static String |
EMPTY_COLLECTION
URI representing a collection that is always empty, regardless of any collection URI resolver
|
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 |
---|
Collection() |
Modifier and Type | Method and Description |
---|---|
PathMap.PathMapNodeSet |
addToPathMap(PathMap pathMap,
PathMap.PathMapNodeSet pathMapNodeSet)
Add a representation of this expression to a PathMap.
|
Sequence |
call(XPathContext context,
Sequence[] arguments)
Call the Callable.
|
void |
checkArguments(ExpressionVisitor visitor)
Method called during static type checking
|
int |
computeSpecialProperties()
Determine the special properties of this expression.
|
static SequenceIterator |
getResolverResults(SequenceIterator iter,
String baseURI,
XPathContext context,
SourceLocator locator)
Return the results of iterating over the results returned by the CollectionURIResolver.
|
String |
getStaticBaseURI() |
SequenceIterator<Item> |
iterate(XPathContext context)
Iterate over the contents of the collection
|
Expression |
preEvaluate(ExpressionVisitor visitor)
preEvaluate: this method suppresses compile-time evaluation by doing nothing
|
addContextDocumentArgument, addDocToPathMap, bindStaticContext, computeCardinality, copy, equalOrNull, equals, 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, simplify, simplifyArguments, toString, typeCheck
adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getExpressionCompiler, 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 static String EMPTY_COLLECTION
public String getStaticBaseURI()
public void checkArguments(ExpressionVisitor visitor) throws XPathException
SystemFunctionCall
checkArguments
in class SystemFunctionCall
visitor
- the expression visitorXPathException
- if the arguments are incorrectpublic int computeSpecialProperties()
SystemFunctionCall
computeSpecialProperties
in class SystemFunctionCall
public Expression preEvaluate(ExpressionVisitor visitor)
preEvaluate
in class FunctionCall
visitor
- an 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 SequenceIterator<Item> iterate(XPathContext context) throws XPathException
iterate
in class Expression
context
- the dynamic contextXPathException
public static SequenceIterator getResolverResults(SequenceIterator iter, String baseURI, XPathContext context, SourceLocator locator)
Note, this method is called by generated code
iter
- iterator over the results of the CollectionURIResolverbaseURI
- the base URIcontext
- the dynamic contextlocator
- location of the instructionpublic Sequence call(XPathContext context, Sequence[] arguments) throws XPathException
Callable
call
in interface Callable
context
- the dynamic evaluation contextarguments
- the values of the arguments, supplied as Sequences.
Generally it is advisable, if calling iterate() to process a supplied sequence, to
call it only once; if the value is required more than once, it should first be converted
to a GroundedValue
by calling the utility methd
SequenceTool.toGroundedValue().
If the expected value is a single item, the item should be obtained by calling
Sequence.head(): it cannot be assumed that the item will be passed as an instance of
Item
or AtomicValue
.
It is the caller's responsibility to perform any type conversions required to convert arguments to the type expected by the callee. An exception is where this Callable is explicitly an argument-converting wrapper around the original Callable.
XPathException
- if a dynamic error occurs during the evaluation of the expressionCopyright (c) 2004-2013 Saxonica Limited. All rights reserved.