stevedlawrence opened a new pull request, #946: URL: https://github.com/apache/daffodil/pull/946
xs:hexBinary is represented as an Array[Byte], which has a Java implementation maximum length of Int.MaxValue and is what we currently limit hexBinary data to. However, when we output hexBinary bytes to an infoset we convert it to a String, with each byte converted to two characters, effectively doubling the length. Since Java Strings have the same Int.MaxValue length limit, the maximum size of hexBinary that we can actually support is only half of Int.MaxValue. This changes the default and maximum value of the maxHexBinaryLengthInBytes tunable, and thus the length of xs:hexBinary elements, to 1073741823. Backwards/Compatibility: The default and maximum value of the maxHexBinaryLengthInBytes tunable, and thus the maximum length of xs:hexBinary elements, is reduced in half from 2147483647 to 1073741823 bytes. Schemas requiring larger values should switch to the Binary Large Object extension or convert the single large hexBinary element to an array of multiple smaller hexBinary elements. DAFFODIL-2782 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
