RE: [xsl] Format Phone number

Subject: RE: [xsl] Format Phone number
From: "Kerry, Richard" <richard.kerry@xxxxxxxxxxx>
Date: Mon, 21 Dec 2009 12:34:41 +0100
This is all very well but phone numbers aren't formatted like that - they're
#####-######, or ###-####-####
And of course they all start with a '0' so can't be handled as numbers.  And
they're all eleven digits, not ten.

And of course if they're international they don't have the zero but start with
+ (ie +##-####-######), sometimes given as +(0)##-####-###### to indicate both
international and national.  And some people actually put 00 as that's the
real code for +.  So that may add three digits.

And actually are usually given with spaces (ie "##### ######", or "### ####
####", or "+## #### ######", or "+(0)##-####-######".

Though of course 'national' in my context means UK.   ;-)

Which brings us back to Michael's earlier recommendation that you don't
hard-code any particular national convention regarding how phone numbers
should be formatted.


Helpfully,
Maybe,
Richard.




> -----Original Message-----
> From: Anil Kumar Veeramalli [mailto:anil.v@xxxxxxxxxxxxxxxxxxxxx]
> Sent: 21 December 2009 11:20
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> 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

Current Thread