Package net.sf.saxon.expr.number
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 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.
Michael H. Kay
Saxonica Limited
12 June 2009
-
ClassesClassDescriptionClass AbstractNumberer is a base implementation of Numberer that provides language-independent default numbering This supports the xsl:number element.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 LoHandles grouping separators when formatting a number in cases where the grouping separators are not at regular intervalsThis class attempts to identify a timezone name, given the date (including the time zone offset) and the country.Numberer class for the English language.Class NumberFormatter defines a method to format a ArrayList of integers as a character string according to a supplied format specification.A NumericGroupFormatter is responsible for insertion of grouping separators into a formatted number (for example, reformatting "1234" as "1,234").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.