I have included a "proof-of-concept" patch for xmlschemastypes.c that implements and stores hexBinary, decimal, and all decimal derivates as strings. They are only converted to binary when they are needed (for doing facet verification). This patch allows the numbers to be any length except when the number (decimal or nonnegative) is used to restrict the length of a data type (i.e. totalDigits, fractionDigits, maxLength ..). The changes pass all the tests included in libxml2, but those tests don't stress the xsd types. If anyone has some better tests, I would appreciate any feedback. After a few days, I will clean up the patch and resubmit it for inclusion if no one has any objections. Charlie B.
Attachment:
testxsd.pat
Description: Text Data