![]() |
![]() | ![]() | ![]() | 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 8:57:00 AM "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 > No they are not recognised. You could use a Microosft extension, ms:number. Read more in sdk from msdn.com/xml. Sdk is a link on right hand side. Your use of path ".//stuff is also odd. <?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" xmlns:ms="urn:schemas-microsoft-com:xslt"> <xsl:template match="/*/stuff"><!-- or //stuff --> Value: <xsl:value-of select="ms:number(.)"/> </xsl:template> </xsl:stylesheet> Unfortunately for this to work I believe the xml must have been validated via an xml schema that declares the datatype of stuff to be a number. If this is not possible then a second approach would be a JavaScript function to convert, again look at the examples in the sdk. Not sure what exactly you need as output, do you want to eexpress the number always as just digits etc? I.e. no exponential symbol? -- Joe (MVP - xml) | ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||||
|
