## Package net.sf.saxon.number

This package provides classes associated with numbering and the `xsl:number` element.

See:
Description

Interface Summary
Numberer: Interface Numberer supports number formatting.

Class Summary
Numberer_de: Class Numberer_de is designed simply to demonstrate how to write a number formatter for a different language.
Numberer_en: Class Numberer_en does number formatting for language="en".
NumberFormatter: Class NumberFormatter defines a method to format a ArrayList of integers as a character string according to a supplied format specification.

## Package net.sf.saxon.number Description

This package provides classes associated with numbering and the `xsl:number` element.

It is possible to extend the range of numberings available by providing a Numberer for a specific language. This should be named Numberer_xx where xx is the language code, corresponding to the value of the lang attribute in `xsl:number`.

The class `Numberer_de` is provided as an illustration of how to do this; it is invoked when the stylesheet specifies `<xsl:number lang="de">, and a format token of "eins" is used: it allows numbers up to ten to be output as "eins", "zwei", "drei", etc.`

The class `Numberer_en` provides the standard numbering options. As well as the format tokens defined in the XSLT 1.0 specification (for example, "1", "001", "a", "i") it supports other numbering options including:

- Greek upper and lower case letters
  Cyrillic upper and lower case letters
  Hebrew letters
  Japanese: Hiragana-A, Hiragana-B, Katakana-A, or Katakana-B letters, and Kanji digits
  English words: the format token "one" produces numbers such as "twenty five"

Michael H. Kay
25 April 2002