xsl-list
[Top] [All Lists]

RE: [xsl] Format Phone number

2009-12-21 07:05:45

There is actually a difference between XSLT 1.0 and XSLT 2.0 here. 

In XSLT 1.0, the specification of the picture format for format-number was
based on the specification of class DecimalFormat in Java JDK 1.1, which can
be found here:

http://sunsite.dcc.uchile.cl/java/docs/jdk1.1.8/docs/api/java.text.DecimalFo
rmat.html

It states:

The grouping separator is commonly used for thousands, but in some countries
for ten-thousands. The interval is a constant number of digits between the
grouping characters, such as 100,000,000 or 1,0000,0000. If you supply a
pattern with multiple grouping characters, the interval between the last one
and the end of the integer is the one that is used.

In XSLT 2.0, the specification is no longer based on the JDK, and the
interval between grouping separators is variable.

I would not recommend using format-number() for formatting phone numbers.
Use concat(substring(X, 1, 3), '-', substring(X, 4, 3), '-', ....).

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 



-----Original Message-----
From: Anil Kumar Veeramalli 
[mailto:anil(_dot_)v(_at_)frescoinformatics(_dot_)com] 
Sent: 21 December 2009 11:20
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Format Phone number

yes there is a issue with even this approach.
I am using XSL 1.0
1.

<xsl:decimal-format name="phonenumber" decimal-separator="-" 
grouping-separator="&#x2011;"/> <xsl:template match="/">  
<xsl:value-of select='format-number(1234567890 div 10000, 
"#&#x2011;###-####", "phonenumber")' /> </xsl:template>


its returning 123-456-789 which is wrong. (Zero is missing)

2.
<xsl:decimal-format name="staff" grouping-separator="-"/>

   <xsl:value-of select='format-number(9058957869, 
"000-000-0000", "staff")'/>

its returning me 90-5895-7869 which is wrong.

required out put is 905-895-7869

Please suggest me the correct approach.

Thanks,
Anil
Michael Kay wrote:

thanks for your response. this is returing me  xx-xxxx-xxxx format 
not xxx-xxx-xxxx.

what could be the issue.
    

That looks like a bug in your XSLT processor.

(But this is not the way I would recommend tackling this problem).

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


  



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>