
net.sf.saxon.functions
Class FormatNumber
java.lang.Object
|
+--net.sf.saxon.expr.ComputedExpression
|
+--net.sf.saxon.expr.FunctionCall
|
+--net.sf.saxon.functions.SystemFunction
|
+--net.sf.saxon.functions.FormatNumber
- All Implemented Interfaces:
- Expression, java.io.Serializable, XSLTFunction
- public class FormatNumber
- extends SystemFunction
- implements XSLTFunction
This is the original XSLT 1.0 implementation of format-number using the JDK
directly. It is still available for the time being under the name
format-number-1.0, in case the new version has problems.
- See Also:
- Serialized Form
| Methods inherited from class net.sf.saxon.expr.ComputedExpression |
computeDependencies, computeSpecialProperties, computeStaticProperties, dynamicError, effectiveBooleanValue, getCardinality, getDependencies, getIntrinsicDependencies, getLineNumber, getSourceLocator, getSpecialProperties, iterate, markTailFunctionCalls, setLineNumber, typeError |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FormatNumber
public FormatNumber()
checkArguments
public void checkArguments(StaticContext env)
throws XPathException
- Description copied from class:
SystemFunction
- Method called during static type checking
- Overrides:
checkArguments in class SystemFunction
XPathException
preEvaluate
public Expression preEvaluate(StaticContext env)
- preEvaluate: this method suppresses compile-time evaluation by doing nothing.
We can't evaluate early because we don't have access to the DecimalFormatManager.
- Overrides:
preEvaluate in class FunctionCall
evaluateAsString
public java.lang.String evaluateAsString(XPathContext context)
throws XPathException
- Evaluate in a context where a string is wanted
- Specified by:
evaluateAsString in interface Expression- Overrides:
evaluateAsString in class ComputedExpression
- Parameters:
context - The context in which the expression is to be evaluated
- Returns:
- the value of the expression, evaluated in the current context.
The expression must return a string or (); if the value of the
expression is (), this method returns "".
- Throws:
XPathException - if any dynamic error occurs evaluating the
expression
evaluateItem
public Item evaluateItem(XPathContext c)
throws XPathException
- Evaluate in a general context
- Specified by:
evaluateItem in interface Expression- Overrides:
evaluateItem in class ComputedExpression
- Parameters:
c - 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
formatNumber
public java.lang.String formatNumber(double n,
java.lang.String format,
java.text.DecimalFormatSymbols dfs)
throws XPathException
- Here is the method that does the work. It needs to be synchronized because
it remembers information from one invocation to the next; it doesn't matter
if these are in different threads but it can't be interrupted. The reason for
remembering information is that getting a new DecimalFormatSymbols each time
is incredibly expensive, especially with the Microsoft Java VM.
XPathException
Stylus Studio features integrated development and debugging support for Saxon in the XQuery editor and XSLT editor.