-
Notifications
You must be signed in to change notification settings - Fork 43
Compatibility with XML Schema types #222
Description
Hi, is there any interest in serializing values so that they are compatible with XML Schema types?
There are at least two scenarios where I've noticed xmlutil not adhering to XML Schema types:
- Serialization of infinity values:
xs:floatandxs:doubleexpect negative/positive infinity as-INF/INF, whereas xmlutil uses-Infinity/Infinity; - Decoding of boolean values:
xs:booleanaccepts valuesfalse/true/0/1, but xmlutil does not accept0/1when decoding booleans.
Obviously, changing these at this point would be a breaking change, so perhaps a setting to enable values to follow XML schema type definitions would make sense.
I would also personally appreciate a setting to specify the preferred encoding of boolean values (false/true vs 0/1). Unfortunately I'm dealing with legacy software which expects xs:booleans encoded as 0/1 and doesn't actually allow the false/true representation 😅. This is, of course, a me problem, which I'm currently working around via a custom serializer.
However, it might make sense to encode booleans as false/true when pretty print is enabled and 0/1 otherwise, to save some precious bytes 😉, so a setting to specify preferred boolean encoding might make sense in the general case.
Regardless of the boolean encoding issue, what are your thoughts on aligning xmlutil value serialization with the XML Schema specification?