Hi PeiYong Thanks for the info!
I understand that the Specs don't demand it in any way, but, honestly, everyone knows that 0.00 and 0.00000 and 0.000000 are all valid representations of zero, and zero is always a valid float/double. Can't the validator be made smart enough to understand this too? IMHO this would get rid of a nasty 'gotcha' and make Xerces that much easier to use. Otherwise I'll be forced to insert logic in my XML-writing code to treat zero values as a special case and be sure it writes '0.0'. This is do-able, but it just doesn't seem right that I should have to. -Dave > Hi, there, > > If you run your sample against the latest nightly build, you may have a > different > error message which reads: > > Message: Datatype error: type:InvalidDatatypeFacetException, > Message: Value '0.00000' shall be in the range of '-1.401298...E-45', > '+1.401298...E-45'. > > Basically, only the '-0', '+0' and '0.0' (exactly) are valid representation > for negative zero, > positive zero, and neural zero (which is not **EXPLICITYLY** stated in the > Specs), > for double and float. > > Any other representation, with and only with extra 0s following the '0.0' is > NOT treated > as the same as '0.0', and therefore they are INvalid since they are within the > unrepresentable > range, (-1.401298..E-45, 0] and [0, +1.401298...E-45). > > Rgds, > PeiYong > > "Schmid, David" wrote: > > > Hello > > > > I am having a problem putting range restrictions on elements of types > > xsd:double and xsd:float when minInclusive is 0. > > E.g. if my schema is : > > > > <xsd:element name="left" default="0"> > > <xsd:simpleType> > > <xsd:restriction base="xsd:double"> > > <xsd:minInclusive value="0.0"/> > > <xsd:maxInclusive value="1.0"/> > > </xsd:restriction> > > </xsd:simpleType> > > </xsd:element> > > > > and I parse an instance doc containing: > > <left>0.000000</left> > > > > I get an error: > > > > Datatype error: Type:InvalidDatatypeFacetException, Message:Value '+0E+0' > > must be greater than or equal to MinInclusive '0.0' > > > > I think this problem is related to the representation of 0 in the schema. If > > I set a minInclusive to -0.000000001 or something I can get close to the > > correct behavior, but 0, 0.0, 0.00, +0E+0, etc all fail. This does not fail > > if I use xsd:decimal instead of xsd:double or xsd:float. > > > > Am I misusing this somehow or is this a bug? > > > > Thanks! > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
