net.sf.saxon.trans

Class DecimalFormatManager

public class DecimalFormatManager extends Object implements Serializable

DecimalFormatManager manages the collection of named and unnamed decimal formats

Author: Michael H. Kay

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(String uri, String localName)
Get a named decimal-format registered using setNamedDecimalFormat
voidregisterUsage(String uri, String localName, FormatNumber2 call)
Register a format-number() function call that uses a particular decimal format.
voidsetDefaultDecimalFormat(DecimalSymbols dfs, int precedence)
Register the default decimal-format.
static voidsetDefaults(DecimalSymbols d)
Set up the XSLT-defined default attributes in a DecimalFormatSymbols
voidsetNamedDecimalFormat(String uri, String localName, DecimalSymbols dfs, int precedence)
Set a named decimal format.

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(String uri, String localName)
Get a named decimal-format registered using setNamedDecimalFormat

Parameters: uri The URI of the name of the decimal format localName The local part of the name of the decimal format

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

registerUsage

public void registerUsage(String uri, String localName, FormatNumber2 call)
Register a format-number() function call that uses a particular decimal format. This allows early compile time resolution to a DecimalFormatSymbols object where possible, even in the case of a forwards reference

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

setDefaults

public static void setDefaults(DecimalSymbols d)
Set up the XSLT-defined default attributes in a DecimalFormatSymbols

setNamedDecimalFormat

public void setNamedDecimalFormat(String uri, String localName, DecimalSymbols dfs, int precedence)
Set a named decimal format. Note that it is an error to register the same decimal-format twice, unless hte 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: uri The URI of the name of the decimal format localName The local part of the name of the decimal format