Package net.sf.saxon.functions
Class DistinctValues
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.CollatingFunction
net.sf.saxon.functions.DistinctValues
- All Implemented Interfaces:
Serializable
,SourceLocator
,LocationProvider
,SaxonLocator
,CallableExpression
,InstructionInfo
,Locator
The XPath 2.0 distinct-values() function
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Iterator class to return the distinct values in a sequence -
Field Summary
Fields inherited from class net.sf.saxon.functions.CollatingFunction
stringCollator
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
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 TypeMethodDescriptioncall
(SequenceIterator[] arguments, XPathContext context) Evaluate the expressionvoid
checkArguments
(ExpressionVisitor visitor) Method called during static type checkingGet the AtomicComparer allocated at compile time.iterate
(XPathContext context) Evaluate the function to return an iteration of selected values or nodes.makeAtomicComparer
(XPathContext context) Get the AtomicComparer, creating it if it was not allocated at compile time.Methods inherited from class net.sf.saxon.functions.CollatingFunction
copy, equals, expandCollationURI, getAbsoluteCollationURI, getAtomicComparer, getCollator, getExpressionBaseURI, getStringCollator
Methods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, addDocToPathMap, computeCardinality, computeSpecialProperties, 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, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck
Methods inherited from class net.sf.saxon.expr.Expression
addToPathMap, 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
-
Constructor Details
-
DistinctValues
public DistinctValues()
-
-
Method Details
-
checkArguments
Description copied from class:SystemFunction
Method called during static type checking- Overrides:
checkArguments
in classCollatingFunction
- Parameters:
visitor
- the expression visitor- Throws:
XPathException
- if the arguments are incorrect
-
getAtomicComparer
Get the AtomicComparer allocated at compile time.- Returns:
- the AtomicComparer if one has been allocated at compile time; return null if the collation is not known until run-time
-
makeAtomicComparer
Get the AtomicComparer, creating it if it was not allocated at compile time.- Returns:
- the AtomicComparer already allocated if one has been allocated at compile time; otherwise allocate one from knowledge of the collation at run-time
- Throws:
XPathException
-
iterate
Evaluate the function to return an iteration of selected values or nodes.- Overrides:
iterate
in classExpression
- Parameters:
context
- supplies the context for evaluation- Returns:
- a SequenceIterator that can be used to iterate over the result of the expression
- Throws:
XPathException
- if any dynamic error occurs evaluating the expression
-
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
-