Package net.sf.saxon.functions
Class Number_1
- java.lang.Object
-
- net.sf.saxon.functions.AbstractFunction
-
- net.sf.saxon.functions.SystemFunction
-
- net.sf.saxon.functions.ScalarSystemFunction
-
- net.sf.saxon.functions.Number_1
-
- All Implemented Interfaces:
Callable
,Function
,GroundedValue
,Item
,Sequence
public class Number_1 extends ScalarSystemFunction
Implements the XPath fn:number() function when called with one argument. Note: this function accepts the value "+INF" whether or not XSD 1.1 is enabled.
-
-
Field Summary
-
Fields inherited from class net.sf.saxon.functions.ScalarSystemFunction
ZERO_LENGTH_STRING
-
-
Constructor Summary
Constructors Constructor Description Number_1()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DoubleValue
convert(AtomicValue value, Configuration config)
Static method to perform the same conversion as the number() function.AtomicValue
evaluate(Item arg, XPathContext context)
Abstract method that must be supplied in subclasses to perform the evaluationjava.lang.String
getCompilerName()
Get the (local) name of a class that can be used to generate bytecode for this system functionZeroOrOne
resultWhenEmpty()
Method that may be supplied in subclasses, to indicate the result that is returned when an empty sequence is supplied as the argument value.static DoubleValue
toNumber(AtomicValue arg0)
The actual implementation logicExpression
typeCheckCaller(FunctionCall caller, ExpressionVisitor visitor, ContextItemStaticInfo contextInfo)
Type-check a calling expression.-
Methods inherited from class net.sf.saxon.functions.ScalarSystemFunction
call, makeFunctionCall
-
Methods inherited from class net.sf.saxon.functions.SystemFunction
dependsOnContextItem, dynamicCall, equals, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getCardinality, getContextNode, getDescription, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getIntegerBounds, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, getStreamerName, importAttributes, isTrustedResultType, makeCall, makeFunction, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString
-
Methods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEquals, effectiveBooleanValue, getAnnotations, getStringValue, getStringValueCS, isArray, isMap, makeNewContext, simplify, typeCheck
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materialize
-
Methods inherited from interface net.sf.saxon.om.Item
getLength, head, isStreamed, itemAt, iterate, reduce, subsequence
-
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
-
-
-
Method Detail
-
evaluate
public AtomicValue evaluate(Item arg, XPathContext context) throws XPathException
Description copied from class:ScalarSystemFunction
Abstract method that must be supplied in subclasses to perform the evaluation- Specified by:
evaluate
in classScalarSystemFunction
- Parameters:
arg
- the supplied argumentcontext
- the dynamic context- Returns:
- the result of the evaluation
- Throws:
XPathException
- if a dynamic error occurs
-
resultWhenEmpty
public ZeroOrOne resultWhenEmpty()
Description copied from class:ScalarSystemFunction
Method that may be supplied in subclasses, to indicate the result that is returned when an empty sequence is supplied as the argument value. The default is to return the empty sequence- Overrides:
resultWhenEmpty
in classScalarSystemFunction
- Returns:
- the result of evaluation when the supplied argument is an empty sequence
-
typeCheckCaller
public Expression typeCheckCaller(FunctionCall caller, ExpressionVisitor visitor, ContextItemStaticInfo contextInfo)
Type-check a calling expression.- Overrides:
typeCheckCaller
in classSystemFunction
-
toNumber
public static DoubleValue toNumber(AtomicValue arg0)
The actual implementation logic- Parameters:
arg0
- the atomic value to be converted- Returns:
- the result of the conversion
-
convert
public static DoubleValue convert(AtomicValue value, Configuration config)
Static method to perform the same conversion as the number() function. This is different from the convert(Type.DOUBLE) in that it produces NaN rather than an error for non-numeric operands.- Parameters:
value
- the value to be convertedconfig
- the Saxon configuration- Returns:
- the result of the conversion
-
getCompilerName
public java.lang.String getCompilerName()
Description copied from class:SystemFunction
Get the (local) name of a class that can be used to generate bytecode for this system function- Overrides:
getCompilerName
in classSystemFunction
- Returns:
- the name of a bytecode generation class, or null if there is no bytecode support for this function
-
-