-
(There is already a JSON Schema definition at https://json-schema.org/)
Like you said - standard XML isn't terrible. Adding on an XSD isn't terrible, because now you can enforce structure and datatypes on files provided by outside parties. Creating an XSLT is much more of a mental challenge, and probably should be left to tools to define.
Anything beyond those technologies is someone polishing up their resume.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
learning_xslt_with_python
A CLI and a set of examples to learn XSLT with the lxml and saxonche Python parsers.
I think a middle ground has been reached, XSLT 3.0 allows you to transform your XML into JSON and back. The XSLT 3.0 (2017) processor is available to non-Java languages from Saxonica, for Python "pip install saxonpy" (Linux only)
If you want to see how to do these XML-to-JSON and JSON-to-XML transforms I have written a little learning repo with a CLI: https://github.com/aleph2c/leaning_xslt
Here is Michael Kay's white paper on Transforming JSON using XSLT 3.0: https://www.saxonica.com/papers/xmlprague-2016mhk.pdf
Once your data is in a JSON format, you could implement your compact-binary-format idea around it.