![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >microsoft.public.xml Archive Home >Recent entries >Thread Prev - Re: Problem using msxml [Thread Next] Re: Problem using msxmlTo: NULL Date: 9/8/2004 12:19:00 AM Thanks - the ms:number seems to work. We have been trying to avoid extensions, as we need to support multiple parsers. I don't seem to need to validate against a schema (yes it would be a good idea, but ...). We are performing arithmetic operations (not sure what in this case) and were getting NaN. Now works well, Thanks again! "Joe Fawcett" wrote: > "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 | |||||
|
