[
Lists Home |
Date Index |
Thread Index
]
If it's any use to you, XSLT 2.0 (and therefore Saxon 7.x) support numbers
in scientific notation (or at any rate, in Fortran notation - 1.0e30).
In an XSLT 1.0 product that supports calls to Java, for example Saxon 6.x,
it's easy enough to do via an extension function. In Saxon:
<xsl:variable name="v" select="Double:parseDouble('1.0e30')"
xmlns:Double="java:java.lang.Double"/>
Michael Kay
> -----Original Message-----
> From: Nicholas Shanks [mailto:contact@nickshanks.com]
> Sent: 04 May 2004 12:13
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] Parsing numbers in Scientific Notation
>
> Hey all, I'm an XML newbie so go easy on me :o)
> I am writing a DTD and XSLT file for a table of astronomical
> data, and
> would like values to be given in SI units. For many things this means
> astronomically large numbers like 5.0 x 10^30. I would like
> not to have
> to specify that using standard decimal notation (as used by
> format-number() and xsl:decimal-number) as it would be prone
> to errors
> and look awful! Is there a built-in way to parse a string
> such as "5.0
> x 10^30" and then perform mathematical operations on it, like
> divide it
> by the mass of the sun (1.99 x 10^30), so it outputs a simpler number
> like "2.5" ?
> If there is no such built in method, how would I go about
> writing some
> XSL/XPath voodoo to make it happen?
>
> The lists.xml.org server doesn't seem to be responding to
> http requests
> at the moment so I was unable to check the archives. Apologies for
> this.
>
> - Nick.
>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>
>
>
|