net.sf.saxon.trans

Class DecimalFormatManager

public class DecimalFormatManager extends Object implements Serializable

DecimalFormatManager manages the collection of named and unnamed decimal formats, for use by the format-number() function.

In XSLT, there is a single set of decimal formats shared by the whole stylesheet. In XQuery 1.1, however, each query module has its own set of decimal formats. The DecimalFormatManager to use is therefore linked from the format-number() call on the expression tree.

Author: Michael H. Kay

Field Summary
static StructuredQNameDEFAULT_NAME
Constructor Summary
DecimalFormatManager()
create a DecimalFormatManager and initialise variables
Method Summary
voidfixupDefaultDefault()
Method called at the end of stylesheet compilation to fix up any format-number() calls to the "default default" decimal format
DecimalSymbolsgetDefaultDecimalFormat()
Get the default decimal-format.
DecimalSymbolsgetNamedDecimalFormat(StructuredQName qName)
Get a named decimal-format registered using setNamedDecimalFormat
voidsetDefaultDecimalFormat(DecimalSymbols dfs, int precedence)
Register the default decimal-format.
voidsetNamedDecimalFormat(StructuredQName qName, DecimalSymbols dfs, int precedence)
Set a named decimal format.

Field Detail

DEFAULT_NAME

public static final StructuredQName DEFAULT_NAME

Constructor Detail

DecimalFormatManager

public DecimalFormatManager()
create a DecimalFormatManager and initialise variables

Method Detail

fixupDefaultDefault

public void fixupDefaultDefault()
Method called at the end of stylesheet compilation to fix up any format-number() calls to the "default default" decimal format

getDefaultDecimalFormat

public DecimalSymbols getDefaultDecimalFormat()
Get the default decimal-format.

getNamedDecimalFormat

public DecimalSymbols getNamedDecimalFormat(StructuredQName qName)
Get a named decimal-format registered using setNamedDecimalFormat

Parameters: qName The name of the decimal format

Returns: the DecimalFormatSymbols object corresponding to the named locale, if any or null if not set.

setDefaultDecimalFormat

public void setDefaultDecimalFormat(DecimalSymbols dfs, int precedence)
Register the default decimal-format. Note that it is an error to register the same decimal-format twice, even with different precedence

setNamedDecimalFormat

public void setNamedDecimalFormat(StructuredQName qName, DecimalSymbols dfs, int precedence)
Set a named decimal format. Note that it is an error to register the same decimal-format twice, unless the values are equal, or unless there is another of higher precedence. This method assumes that decimal-formats are registered in order of decreasing precedence

Parameters: qName the name of the decimal format