net.sf.saxon.functions
Class Minimax
java.lang.Object
net.sf.saxon.expr.ComputedExpression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.CollatingFunction
net.sf.saxon.functions.Minimax
- All Implemented Interfaces:
- Container, Expression, InstructionInfoProvider, java.io.Serializable, javax.xml.transform.SourceLocator
- public class Minimax
- extends CollatingFunction
This class implements the min() and max() functions
- See Also:
- Serialized Form
Field Summary |
static int |
MAX
|
static int |
MIN
|
Methods inherited from class net.sf.saxon.functions.SystemFunction |
addContextDocumentArgument, computeCardinality, computeSpecialProperties, display, getDetails, getErrorCodeForTypeErrors, getItemType, getRequiredType, main, makeSystemFunction, setDetails, useContextItemAsDefault |
Methods inherited from class net.sf.saxon.expr.FunctionCall |
checkArgumentCount, getDisplayName, getFunctionNameCode, getNumberOfArguments, iterateSubExpressions, preEvaluate, promote, setArguments, setFunctionNameCode, simplify, simplifyArguments, typeCheck |
Methods inherited from class net.sf.saxon.expr.ComputedExpression |
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, effectiveBooleanValue, evaluateAsString, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, iterate, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, suppressValidation, typeError, typeError |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MIN
public static final int MIN
- See Also:
- Constant Field Values
MAX
public static final int MAX
- See Also:
- Constant Field Values
Minimax
public Minimax()
setIgnoreNaN
public void setIgnoreNaN(boolean ignore)
checkArguments
public void checkArguments(StaticContext env)
throws XPathException
- Static analysis: prevent sorting of the argument
- Overrides:
checkArguments
in class CollatingFunction
- Throws:
XPathException
optimize
public Expression optimize(Optimizer opt,
StaticContext env,
ItemType contextItemType)
throws XPathException
- Perform optimisation of an expression and its subexpressions.
This method is called after all references to functions and variables have been resolved
to the declaration of the function or variable, and after all type checking has been done.
- Specified by:
optimize
in interface Expression
- Overrides:
optimize
in class FunctionCall
- Parameters:
opt
- the optimizer in use. This provides access to supporting functions; it also allows
different optimization strategies to be used in different circumstances.env
- the static context of the expressioncontextItemType
- 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
- Returns:
- the original expression, rewritten if appropriate to optimize execution
- Throws:
StaticError
- if an error is discovered during this phase
(typically a type error)
XPathException
evaluateItem
public Item evaluateItem(XPathContext context)
throws XPathException
- Evaluate the function
- Specified by:
evaluateItem
in interface Expression
- Overrides:
evaluateItem
in class ComputedExpression
- Parameters:
context
- The context in which the expression is to be evaluated
- Returns:
- the node or atomic value that results from evaluating the
expression; or null to indicate that the result is an empty
sequence
- Throws:
XPathException
- if any dynamic error occurs evaluating the
expression