You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by pe...@apache.org on 2003/07/16 19:50:17 UTC
cvs commit: xml-xerces/c/doc faq-build.xml
peiyongz 2003/07/16 10:50:17
Modified: c/doc faq-build.xml
Log:
strtod
Revision Changes Path
1.17 +23 -0 xml-xerces/c/doc/faq-build.xml
Index: faq-build.xml
===================================================================
RCS file: /home/cvs/xml-xerces/c/doc/faq-build.xml,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- faq-build.xml 11 Mar 2003 05:01:58 -0000 1.16
+++ faq-build.xml 16 Jul 2003 17:50:17 -0000 1.17
@@ -395,4 +395,27 @@
</a>
</faq>
+ <faq title="Why my document is valid on some platforms while invalid on others">
+ <q>"Why my document is valid on some platform while invalid on others"?</q>
+ <a>
+ <p>The parser relies on the system call, strtod(), to parse a string representation
+ of a double/float data. In the case of no invalid characters found, the strtod()
+ returns a double/float value if it is representable on that platform, or raises
+ ERANGE to indicate either underflow or underflow occurs. And the parser assigns
+ zero to the said data if underflow is found.
+ </p>
+ <p>The threshold, where the strtod() decides if an underflow occurs, varies on
+ platforms. On windows, it is roughly the order of e-308, on Linux, e-325, and
+ on AIX, HP and Solaris, e-324.
+ </p>
+ <p>So in an instance document, a data of value 1.0e-310 from a type with minExclusive 0,
+ is considered invalid on windows (since it is converted to 0 and therefore violates
+ the minExclusive constraint), but valid on other unix platforms (since it remains
+ the original value).
+ </p>
+ <p>The discussion above applies to data in xsd file as well.
+ </p>
+ </a>
+ </faq>
+
</faqs>
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org