Package net.sf.saxon.functions
Class Collection
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.Collection
- All Implemented Interfaces:
Serializable
,SourceLocator
,LocationProvider
,SaxonLocator
,CallableExpression
,InstructionInfo
,Locator
Implement the fn:collection() function. This is responsible for calling the
registered
CollectionURIResolver
. For the effect of the default
system-supplied CollectionURIResolver, see StandardCollectionURIResolver
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic String
URI representing a collection that is always empty, regardless of any collection URI resolverFields 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
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddToPathMap
(PathMap pathMap, PathMap.PathMapNodeSet pathMapNodeSet) Add a representation of this expression to a PathMap.call
(SequenceIterator[] arguments, XPathContext context) Evaluate the expressionvoid
checkArguments
(ExpressionVisitor visitor) Method called during static type checkingint
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.iterate
(XPathContext context) Iterate over the contents of the collectionpreEvaluate
(ExpressionVisitor visitor) preEvaluate: this method suppresses compile-time evaluation by doing nothingMethods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, addDocToPathMap, computeCardinality, copy, equals, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getOperation, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault
Methods inherited from class net.sf.saxon.expr.FunctionCall
addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck
Methods inherited from class net.sf.saxon.expr.Expression
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, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.sf.saxon.expr.CallableExpression
getArguments
-
Field Details
-
EMPTY_COLLECTION
URI representing a collection that is always empty, regardless of any collection URI resolver
-
-
Constructor Details
-
Collection
public Collection()
-
-
Method Details
-
getStaticBaseURI
-
checkArguments
Description copied from class:SystemFunction
Method called during static type checking- Overrides:
checkArguments
in classSystemFunction
- Parameters:
visitor
- the expression visitor- Throws:
XPathException
- if the arguments are incorrect
-
computeSpecialProperties
public int computeSpecialProperties()Description copied from class:SystemFunction
Determine the special properties of this expression. The general rule is that a system function call is non-creative if its return type is atomic, or if all its arguments are non-creative. This is overridden for the generate-id() function, which is considered creative if its operand is creative (because the result depends on the identity of the operand)- Overrides:
computeSpecialProperties
in classSystemFunction
- Returns:
- the special properties, as a bit-significant integer
-
preEvaluate
preEvaluate: this method suppresses compile-time evaluation by doing nothing- Overrides:
preEvaluate
in classFunctionCall
- Parameters:
visitor
- an expression visitor- Returns:
- the result of the early evaluation, or the original expression, or potentially a simplified expression
-
addToPathMap
Add a representation of this expression to a PathMap. The PathMap captures a map of the nodes visited by an expression in a source tree.- Overrides:
addToPathMap
in classExpression
- Parameters:
pathMap
- the PathMap to which the expression should be addedpathMapNodeSet
- the PathMapNodeSet to which the paths embodied in this expression should be added- 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
-
iterate
Iterate over the contents of the collection- Overrides:
iterate
in classExpression
- Parameters:
context
- the dynamic context- Returns:
- an iterator, whose items will always be nodes (typically but not necessarily document nodes)
- Throws:
XPathException
-
getResolverResults
public static SequenceIterator getResolverResults(SequenceIterator iter, String baseURI, XPathContext context, SourceLocator locator) Return the results of iterating over the results returned by the CollectionURIResolver.Note, this method is called by generated code
- Parameters:
iter
- iterator over the results of the CollectionURIResolverbaseURI
- the base URIcontext
- the dynamic contextlocator
- location of the instruction- Returns:
- an iterator over the documents in the collection.
-
call
public SequenceIterator call(SequenceIterator[] arguments, XPathContext context) throws XPathException Description copied from interface:CallableExpression
Evaluate the expression- Specified by:
call
in interfaceCallableExpression
- Parameters:
arguments
- the values of the arguments, supplied as SequenceIteratorscontext
- the dynamic evaluation context- Returns:
- the result of the evaluation, in the form of a SequenceIterator
- Throws:
XPathException
- if a dynamic error occurs during the evaluation of the expression
-