net.sf.saxon.trans
Class DecimalFormatManager

java.lang.Object
  extended by net.sf.saxon.trans.DecimalFormatManager
All Implemented Interfaces:
Serializable

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
See Also:
Serialized Form

Field Summary
static StructuredQName DEFAULT_NAME
           
 
Constructor Summary
DecimalFormatManager()
          create a DecimalFormatManager and initialise variables
 
Method Summary
 void fixupDefaultDefault()
          Method called at the end of stylesheet compilation to fix up any format-number() calls to the "default default" decimal format
 DecimalSymbols getDefaultDecimalFormat()
          Get the default decimal-format.
 DecimalSymbols getNamedDecimalFormat(StructuredQName qName)
          Get a named decimal-format registered using setNamedDecimalFormat
 DecimalSymbols obtainNamedDecimalFormat(StructuredQName qName)
          Get a named decimal-format registered using setNamedDecimalFormat or create one if does not exist
 void setDefaultDecimalFormat(DecimalSymbols dfs, int precedence)
          Register the default decimal-format.
 void setNamedDecimalFormat(StructuredQName qName, DecimalSymbols dfs, int precedence)
          Set a named decimal format.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_NAME

public static final StructuredQName DEFAULT_NAME
Constructor Detail

DecimalFormatManager

public DecimalFormatManager()
create a DecimalFormatManager and initialise variables

Method Detail

setDefaultDecimalFormat

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

Throws:
XPathException

fixupDefaultDefault

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

Throws:
XPathException

getDefaultDecimalFormat

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


setNamedDecimalFormat

public void setNamedDecimalFormat(StructuredQName qName,
                                  DecimalSymbols dfs,
                                  int precedence)
                           throws XPathException
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
Throws:
XPathException

getNamedDecimalFormat

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

Parameters:
qName - The name of the decimal format
Returns:
the DecimalSymbols object corresponding to the given name, if any or null if not set.

obtainNamedDecimalFormat

public DecimalSymbols obtainNamedDecimalFormat(StructuredQName qName)
                                        throws XPathException
Get a named decimal-format registered using setNamedDecimalFormat or create one if does not exist

Parameters:
qName - The name of the decimal format
Returns:
the DecimalSymbols object corresponding to the given name.
Throws:
XPathException


Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.