![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >microsoft.public.xml Archive Home >Recent entries >Thread Prev - Problem using msxml >Thread Next - Re: Problem using msxml Re: Problem using msxmlTo: NULL Date: 9/7/2004 11:32:00 AM Hi Darren,
You could write a template to handle exponential notation numbers, something
like...
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="stuff">
<xsl:text>Value: </xsl:text>
<xsl:call-template name="exnumber"/>
<xsl:text> </xsl:text>
</xsl:template>
<xsl:template name="exnumber">
<xsl:param name="n" select="."/>
<xsl:choose>
<xsl:when test="contains($n,'E')">
<xsl:variable name="nv" select="substring-before($n,'E')"/>
<xsl:variable name="nexp" select="substring-after($n,'E')"/>
<xsl:variable name="exp"
select="substring('1000000000000000000000000000000',1,translate($nexp,'-',''
)+1)"/>
<xsl:choose>
<xsl:when test="$nexp >= 0">
<xsl:value-of select="$nv * $exp"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$nv div $exp"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$n"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
HTH
Marrow
http://www.marrowsoft.com - home of Xselerator (XSLT IDE and debugger)
http://www.topxml.com/Xselerator
"darren@w..." <darren@w...@discussions.microsoft.com> wrote in
message news:B41E4F0B-C97F-452F-8220-1326DE921065@m......
> I have an xml file:
> <?xml version="1.0" encoding="UTF-8"?>
> <myspace>
> <stuff>5.6</stuff>
> <stuff>1.27E-2</stuff>
> </myspace>
>
> I have a stylesheet:
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:fo="http://www.w3.org/1999/XSL/Format">
>
> <xsl:template match=".//stuff">
> Value: <xsl:value-of select="number(.)"/>
> </xsl:template>
>
> </xsl:stylesheet>
>
>
> I expect the results:
> <?xml version="1.0" encoding="UTF-8"?>
> Value: 5.6
> Value: 0.0127
>
> The results I get:
> <?xml version="1.0" encoding="UTF-16"?>
> Value: 5.6
> Value: NaN
>
> The parser doesn't seem to support exponential notation for numbers!
> Is this true, or am I doing something wrong?
> Is there a work around, as I have a lot of data from excel spreadsheets
> that use this notation, and my style sheets are not working well with
it!!!
>
>
> Hugh
>
| ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||||
|
