Package net.sf.saxon.expr.number

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

It is possible to extend the range of numberings available by providing a Numberer for a specific language. This must be registered with the Configuration. In earlier releases, there was a fixed relationship between the language and the implementing class (the Numberer was always named Numberer_xx where xx is the language code, corresponding to the value of the lang attribute in xsl:number). From Saxon 9.2, this relationship no longer exists.

These classes also include code to support the localization of dates as defined in the XSLT format-dateTime() group of functions.

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"

Localizations for a number of European languages are provided in package net.sf.saxon.option.local. In Saxon-PE and Saxon-EE these are issued in binary form as part of the Saxon JAR. For Saxon-HE, they are issued only in source code form.