I know the title sounds impossible, give it a second. We have XSD schemas created by an open-standards industry group. In our service we'd like our customers to be able to use JSON or XML when supplying data. What's the best practice in a situation like this?
Convert JSON payloads to XML and validate against the XSD.
Convert the XSD to JSON Schema and validate each content-type against it's own schema
Convert the XSD to a class-based in language specification and do schema validation in code and then handle content negotiation in the api middleware
Secret super option
FWIW, these XSD schemas are not overly trivial: ~4000 lines long, multiple namespaces with a half-dozen common schemas shared between them. Changes are rare (one every 2 years) but new schemas are added much more frequently (10 per year)