<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>I think that Ajv has a way to validate JSON schema draft-07 and
all the versions of the X3D JSON schema.</p>
<p>While this probably shouldn't run on every X3D JSON file, I will
probably create a separate script or scripts for inclusion in a
larger generation or validation test suite.</p>
<p>I already have an Everit Java-based version of this in x3dschema.
Unfortunately, the java code does not print anything upon success,
and exceptions will be thrown from main().<br>
</p>
<p>What I'd like to do is validate the JSON schema (draft-07) and
X3D JSON generated schemas with a python-based validator for now.</p>
<p><br>
</p>
<p>From:
<a class="moz-txt-link-freetext" href="https://json-schema.org/implementations.html#validator-python">https://json-schema.org/implementations.html#validator-python</a> :<br>
</p>
<ul>
<li> <a href="https://github.com/Julian/jsonschema">jsonschema</a>
<em> draft-07, -06, -04, -03 </em> (MIT) </li>
<li> <a href="https://github.com/horejsek/python-fastjsonschema">fastjsonschema</a>
<em> draft-07, -06, -04 </em> Great performance thanks to code
generation. (BSD-3-Clause) </li>
<li> <a
href="https://github.com/Stranger6667/jsonschema-rs/python">jsonschema-rs</a>
<em> draft-07, -06, -04 </em> Python bindings to Rust’s
jsonschema crate (MIT) </li>
</ul>
<p>These validations will added to the
X3DJSONLD/src/main/python/generateSchemas.py Python3 script, as
best as I can manage.</p>
<p><br>
</p>
<p>Note: In generateSchema.py, there's also jsonlint, which
pretty-prints and parses the X3D JSON schemas, so there's no need
to accomplish that. We will validate each schema generated after
generation (obviously, not before). We will validate draft-07
before the loop.<br>
</p>
<p>John<br>
</p>
</body>
</html>