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.
-
Class Summary Class Description AbstractNumberer Class AbstractNumberer is a base implementation of Numberer that provides language-independent default numbering This supports the xsl:number element.Alphanumeric This class contains static utility methods to test whether a character is alphanumeric, as defined by the rules of xsl:number: that is, whether it is in one of the Unicode categories Nd, Nl, No, Lu, Ll, Lt, Lm or Lo In Saxon 9.9 the data has been regenerated from Unicode 10.0.0.IrregularGroupFormatter Handles grouping separators when formatting a number in cases where the grouping separators are not at regular intervalsNamedTimeZone This class attempts to identify a timezone name, given the date (including the time zone offset) and the country.Numberer_en Numberer class for the English language.NumberFormatter Class NumberFormatter defines a method to format a ArrayList of integers as a character string according to a supplied format specification.NumericGroupFormatter A NumericGroupFormatter is responsible for insertion of grouping separators into a formatted number (for example, reformatting "1234" as "1,234").RegularGroupFormatter A RegularGroupFormatter is a NumericGroupFormatter that inserts a separator at constant intervals through a number: for example, a comma after every three digits counting from the right.