[x3d-public] JSON schema generator; standardizing JSON support for X3D

Don Brutzman brutzman at nps.edu
Thu Nov 19 10:03:09 PST 2020


Dick and I discussed this a bit more.  Although JSON is a strict subset of JavaScript, it is used for data structures and matches a file encoding.  So it will be 19776-5 X3D JSON Encoding, further detail to follow in this week's working group minutes.


On 11/19/2020 8:42 AM, Don Brutzman wrote:
> John, thanks for your significant work loading and validating X3D JSON.
> 
> As discussed and reviewed yesterday, it looks like JSON Schema draft 07 support by various tools has progressed to the point that we might finally test any our uses of this schema approach.  A long time coming, maybe 2 years!  Apparently draft-08 (approved 14 months ago) has still not gained proper acceptance.
> 
> * https://json-schema.org
> 
> Here is another tool supporting JSON Schema 07, which also supports X3D XML schema validation natively.
> 
> * Altova XML Spy - JSON Tools
>    https://www.altova.com/json-tools
> 
> Please confirm current status regarding X3DOM and X_ITE capabilities for loading X3DJSON.
> 
> As you know we have a lot of work to get X3D4 specification ready for vote in the coming weeks.
> 
> Am thinking we should be able to pursue regularization of X3D JSON as part of X3D ECMAScript Language Binding 1977-1 specification revision, early 2021.
> 
> Have fun with X3D JSON!  8)
> 
> 
> On 11/18/2020 2:34 PM, John Carlson wrote:
>>
>> For Java, there is
>> https://github.com/ssilverman/snowy-json <https://github.com/ssilverman/snowy-json> which supports JSON Schema draft 2019-09.   I’m also looking at another JavaScript validator that is significantly faster than Ajv and validates with 2019-09 and has the fewest bugs — 1, according to the test suite.
>>
>> It seems like there’s been significant progress on JSON Schema code, so I’ll revisit to see if my code is worth revising, or if something like es6x3d API is more desirable.
>>
>> John
>>
>> On Wed, Nov 18, 2020 at 4:11 PM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com>> wrote:
>>
>>     I read about Ajv 7 (beta).  It uses TypeScript.   I currently use Ajv 6 something I am fairly sure.   The beta doesn’t use a version number, so I am fairly sure using a * version will be ok to grab latest (6).   The good news is the beta supports   JSON schema 2019-09 (draft)
>>
>>     John
>>
>>     On Wed, Nov 18, 2020 at 4:01 PM John Carlson <yottzumm at gmail.com <mailto:yottzumm at gmail.com>> wrote:
>>
>>         https://raw.githubusercontent.com/coderextreme/X3DJSONLD/master/src/main/shell/generateSchema.sh <https://raw.githubusercontent.com/coderextreme/X3DJSONLD/master/src/main/shell/generateSchema.sh>
>>
>>         Above is a shell script to generate all versions of X3D JSON schema in JSON-schema draft-07.
>>
>>         FYI, there are JSON schema draft-07 validators in use: everit and Ajv.
>>
>>         Don, I seem to remember an issue we had with generating spurious errors when validating nodes with USE.   The answer I figured out was turn off debugging and go to the deepest reported node in the document for where the error is.   The Ajv author said he would not change this, but there’s the Ajv-errors package.
>>
>>         Please review.
>>
>>         John
>>
> 
> all the best, Don

all the best, Don
-- 
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman at nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman



More information about the x3d-public mailing list