Best way to work with xml for record serialization and deserializtion



Is it sane to use ppx_xml_convert in conjunction with csvfields (which is built on xml-light) for working with xml and with an eye toward serializing and deserializing record types? One snag I have immediately hit upon is that the output of the generated to_xml functions, and the input expected by the generated of_xml functions, work with record field names that are by definition spelled in lowercase. But the implementation of csvfields is case sensitive. And if your xml input has tags that are all caps, then it’s going to choke on the case difference of the field names even if the tag names and fieldnames otherwise match. It makes me wonder if I am approaching this all wrong.

Would I break anything by hacking csvfields to make tag name comparisons case insensitive? Or am I overlooking some other way of doing this kind of work? Should I be transforming my tags to lowercase instead? I see that xmlm is much better than xml-light; has anyone considered how hard it might be to swap out xml-light for xmlm within the csvfields project? Or if it’s worth it?