Introduction
This is just an addition to the previous version of this XSLT transformation. It is in Hindi, so perhaps some of the international developers not familiar with Hindi language may find it difficult to understand the result.
Background
People unfamiliar with India’s traditional numbering system may find this challenging. The system used in India, Pakistan, and Bangladesh is based on a unique grouping of two decimal places, rather than three decimal places common in the West. During business dealings in India, people are likely to come across the numerical terms Arab, Crore, and Lakh (see table below), although the higher numbers listed are rarely used. These more common words are often used in combination, e.g., one Lakh Crore, which is 1012, or one trillion. The terms Padma and Kharab are sometimes used in Hindi.
India’s Unique Number System
Term Figure
| No of zeros
| Western system (short-scale)
|
लाख 1,00,000
| 5
| 100000 (100 thousand)
|
करोड़ 1,00,00,000
| 7
| 10,000,000 (Ten million)
|
अरब़ 1,00,00,00,000
| 9
| 1,000,000,000 (One billion)
|
खरब 1,00,00,00,00,000
| 11
| 100,000,000,000 (100 billion)
|
नील 1,00,00,00,00,00,000
| 13
| 10,000,000,000,000 (10 trillion)
|
पद्म 1,00,00,00,00,00,00,000
| 15
| 1,000,000,000,000,000 (One quadrillion)
|
शंख 1,00,00,00,00,00,00,00,000
| 17
| 100,000,000,000,000,000 (100 quadrillion)
|
महाशंख 1,00,00,00,00,00,00,00,00,000
| 19
| 10,000,000,000,000,000,000 (10 quintillion)
|
Using the Code
Make your XML document as in the specified format given below. Put a stylesheet reference to your XML and open the XML in a web browser (in this XML, # represents a digit):
="1.0"="utf-8"
="text/xsl"="TransformNumber.xslt"
<numbers>
<number>#########</number>
<number>####</number>
<number>####</number>
<number>#</number>
<number>###########</number>
<number>#####</number>
</numbers>
Points of Interest
The XSLT file in this project can help you understand calling recursive templates, and also gives an idea about how to use in-built functions. We can use this as a base and can design our own XSLT for the English number system translation.
<form id=""aspnetForm"" name=""aspnetForm"" action=""displayarticle.aspx"" />
History
This is a follow up for a previous version of the article.