[x3d-public] JSON Schema updated (draft07)

John Carlson yottzumm at gmail.com
Fri Oct 18 19:06:10 PDT 2019

Schemata besides 3.3 have been updated to latest X3DUOM for testing before automation


$ svn commit -m "Upgraded schemas" x3d-3.[012]-JSONSchema.json x3d-4.0-JSONSchema.json
Sending        x3d-3.0-JSONSchema.json
Sending        x3d-3.1-JSONSchema.json
Sending        x3d-3.2-JSONSchema.json
Sending        x3d-4.0-JSONSchema.json
Transmitting file data ....done
Committing transaction...
Committed revision 29363.

Schema 3.3 autogenerated file has been updated.

$ svn commit -m "Updated schema" x3d-3.3-JSONSchema.autogenerated.json
Sending        x3d-3.3-JSONSchema.autogenerated.json
Transmitting file data .done
Committing transaction...
Committed revision 29364.

Good luck!


Sent from Mail for Windows 10

From: John Carlson
Sent: Friday, October 18, 2019 8:42 PM
To: Brutzman, Donald (Don) (CIV); X3D Graphics public mailing list
Subject: RE: JSON Schema updated to draft 2019-09

So what needs to be automated in the Ant build? Building the JSON schemas.  Here are some examples of commands which you might use in Ant:


echo 3.0
python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.0.xml | jsonlint > ../schema/x3d-3.0-JSONSchema.json
echo 3.1
python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.1.xml | jsonlint > ../schema/x3d-3.1-JSONSchema.json
echo 3.2
python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.2.xml | jsonlint > ../schema/x3d-3.2-JSONSchema.json
echo 3.3
python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-3.3.xml | jsonlint > ../schema/x3d-3.3-JSONSchema.json
echo 4.0
python ../python/etgenerateJSONschema.py < /c/x3d-code/www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml | jsonlint > ../schema/x3d-4.0-JSONSchema.json


Please suggest an appropriate license on the etgenerateJSONschema.py, and I will back out the 2019-09 changes, apply license, and check into sourceforge.   Please suggest a good naming convention and location for the python file on sourceforge.

I’m looking forward to getting this automated without the need for a JSON schema validator.  That will be the step after generating the schemas.  One step at a time.


Sent from Mail for Windows 10

From: John Carlson
Sent: Friday, October 18, 2019 5:55 PM
To: Brutzman, Donald (Don) (CIV); X3D Graphics public mailing list
Subject: RE: JSON Schema updated to draft 2019-09

I don’t see any implementations of the new draft.  I won’t check in/commit changes until there’s an implementation.

Since they’re going to many drafts as standards (what good is a standard until you can pick from several?), I would be willing to back out my changes to go to draft-07 if everyone agrees this is a good thing. – “The JSON Schema project intends to shepherd all four draft series to RFC status.”

I have Java and JavaScript script (shell script) for draft-07.  Likely they can be altered to suit Ant.  Please check the Everit and Ajv licenses for suitability with incorporating into Ant.

So the decision is to go with draft-07 with existing implementations, or wait for draft 2019-09 implementations?

Seems pretty much like there’s not much to talk about unless you have XMLSpy.  X3D is a open, royalty-free standard.  If you need help with XMLSpy, will the Web3D Consortium buy me a license?

The link you gave me for json-schema-validator says draft-04?  And the issue says no release for drafts 05 – 09 (there is no draft -09)

What are you in a huff about?  What is our goal for next week?  Let me know when you roll the X3DUOM, and I can reroll either draft-07 or draft 2019-09

Looks like the 2019-09 boat sailed without the crew, IMO.


I am perfectly willing to go with draft-07. That boat is still in the dock, and the crew have been waiting for MONTHS for the passengers to get on board.

The new empty shiny boat is likely due to crash, unless somehow, it’s self-driving.  But to what purpose without passengers and crew?



Sent from Mail for Windows 10

From: Brutzman, Donald (Don) (CIV)
Sent: Friday, October 18, 2019 3:41 AM
To: John Carlson; X3D Graphics public mailing list
Subject: JSON Schema updated to draft 2019-09

Reported at http://json-schema.org

                JSON Schema
                NEW DRAFT PUBLISHED!
                The current version is 2019-09!

                Project Status
                16 September 2019: Draft 2019-09 (formerly known as draft-08) has been published!
                The IETF document IDs are of the form draft-handrews-*-02.
                We are now using dates for meta-schemas, which are what implementations should use to determine behavior,
                so we will usually refer to 2019-09 (without the word “draft”) on this web site.

Meanwhile Altova XMLSpy has a new v2020 release that includes support for prior draft-07.  I have sent them an issue report requesting when that might be available, and have offered to beta test.  They generally ship revisions 3-4 times per year.

                JSON Schema Editor and Generator: Enterprise-grade, graphical JSON schema editor

"Just as XMLSpy pioneered the first graphical XML Schema editor, it now also includes the first enterprise-grade, graphical JSON Schema editor to greatly speed schema generation, development, and validation for developers working with JSON."

As I recall the differences are not too great between your latest and the official latest.  Hoping to examine your patterns and finally update our JSON schema validator.

John, can we retackle X3D JSON Schema next week?  I would like to roll another X3DUOM autogenerator that can match your latest patterns.  We might find some corresponding tweaks to the X3Dv4 JSON encoding as well.  XMLSpy will also let us autogenerate documentation.

Am expecting that rechecks will find other JSON schema validators are coming up to date.  I'll still be looking for a command-line tool we can integrate into the X3D Examples Archive build process.  That will give us a full suite of unit tests... these are already configured using the following (last edited 5 SEP), will need to rebuild/upgrade the latest jar.  Status request posted.



[1] X3D JSON Encoding

[2] X3D to JSON Stylesheet Converter

[3] X3D Specifications: Schema and DOCTYPE Validation

Thanks for your patient persistence getting to this point.  When we have autogeneration of JSON schemas in place, that will be another important foundation block for X3D authoring quality assurance (QA) and widespread X3Dv4 adoption.

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20191018/f207a907/attachment-0001.html>

More information about the x3d-public mailing list