[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [xml] Problems with the "decimal" definition of a RELAX NG XSD on the Solaris 2.8 platform during validation using xmllint



John Hockaday ga gov au said:
> Hi All,
>
> I have a RELAX NG XSD that uses a 'decimal' definition. I am validating an
> XML document using xmllint but I get unexpected errors.  Libxml2 is running
> on Solaris 2.8 with the following version of libxml2:
>
> /usr/local/bin/xmllint: using libxml version 20616
>    compiled with: DTDValid FTP HTTP HTML C14N Catalog XPath XPointer XInclude
> Iconv Unicode Regexps Automata Schemas
>
> If I use a decimal like this '130.480907024' then there are no errors but if
> I extend the number of decimal points like this '130.48090702489' then I get
> the following error:
>
> "
> ANZNT0782000040.xml:61: element eastbc: Relax-NG validity error : Error
> validating datatype decimal
> "
> It seems to me that the precision of the 'decimal' definition in the
> libraries is causing the problem.  The problem doesn't occur on LINUX or MAC
> platforms.  The funny thing is that Solaris 2.8 is a 64 bit system.  Can
> anyone help me with this?
>
> The RELAX NG XSD is located at
> http://asdd.ga.gov.au/asdd/tech/relaxng/anzmeta-1.3.1.rng and the XML
> document instance is at http://asdd.ga.gov.au/asdd/work/ANZNT0782000040.xmlm
> if that helps anyone.
>
> Thanks.
>
>
> John

I was able to reproduce this problem on x86 and x86_64 systems (with different
symptoms on each :-).  It's caused by some coding within xmlschemastypes.c,
and may occur anytime the total number of digits in the number exceeds 10. 
I'm working on a "proper" solution for it, but it may be a day or two before I
can complete it.  I'll let you know when the fix is complete.

Bill






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]