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
,FunctionItem
,GroundedValue
,Item
,Sequence
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.
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic DoubleValue
convert
(AtomicValue value, Configuration config) Static method to perform the same conversion as the number() function.evaluate
(Item arg, XPathContext context) Abstract method that must be supplied in subclasses to perform the evaluationMake an elaborator for a system function call on this functionMethod 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 logictypeCheckCaller
(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, getUniStringArg, hashCode, importAttributes, isSequenceVariadic, isTrustedResultType, makeCall, makeFunction, makeFunction40, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString
Methods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEqual40, deepEquals, effectiveBooleanValue, getAnnotations, getUnicodeStringValue, isArray, isMap, makeNewContext, simplify, typeCheck
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.sf.saxon.om.FunctionItem
getGenre
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materialize
Methods inherited from interface net.sf.saxon.om.Item
getLength, getStringValue, head, isStreamed, itemAt, iterate, reduce, subsequence
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
Constructor Details
-
Number_1
public Number_1()
-
-
Method Details
-
evaluate
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
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
- Parameters:
caller
- the function call expression calling this functionvisitor
- the expression visitorcontextInfo
- static context information relating to the call- Returns:
- a type-checked replacement for the supplied function call
-
toNumber
The actual implementation logic- Parameters:
arg0
- the atomic value to be converted- Returns:
- the result of the conversion
-
convert
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
-
getElaborator
Make an elaborator for a system function call on this function- Overrides:
getElaborator
in classSystemFunction
- Returns:
- a suitable elaborator; or null if no custom elaborator is available
-