<div dir="ltr">I don't know as there were additional validations added to JSON schema 2019-08 over JSON schema draft07.  More of a renaming is what I saw was the difference.  Are you suggesting regular expression testing?  We'll have to compare regexp languages, perhaps.  I have some regex stuff commented out in the current version of the draft07 X3D JSON schema generator.  That would likely add a big plus, hopefully with little effort.   We could probably add autogenerated enums, possibly getting rid of Roy's geoSystem handcoding.<div><br></div><div>I've already done much of the comparison between Roy's schema and the autogenerated schema.  We can review that if you want, but I don't think we'll magically find new things to work on.</div><div><br></div><div>What additional validations would you like to add that we could submit to the JSON schema site or the schema validator packages?</div><div><br></div><div>We can work on a second autogenerated JSON schema, perhaps using XMLSpy?</div><div><br>I now see:</div><div><br></div><div>JavaScript:  <a href="https://github.com/hyperjump-io/json-schema-validator" target="_blank">https://github.com/hyperjump-io/json-schema-validator</a> <a href="https://github.com/cfworker/cfworker/blob/master/packages/json-schema/README.md" target="_blank">https://github.com/cfworker/cfworker/blob/master/packages/json-schema/README.md</a></div><div><br></div><div>Java: <a href="https://github.com/ssilverman/snowy-json" target="_blank">https://github.com/ssilverman/snowy-json</a></div><div><br></div><div>for JSON schema 2019-09 validators.  It seems like things have advanced a few inches.</div><div><br></div><div>Please give Snow a "whirl," if it has that correct license.</div><div><br></div><div>For schema generation, check out:</div><div><br></div><div><a href="https://github.com/victools/jsonschema-generator" target="_blank">https://github.com/victools/jsonschema-generator</a>  <br></div><div> <br></div><div>Please provide updates on which JSON schema draft versions XMLSpy uses.  I suggest you create some workflows or whatever they are called in XMLSpy to validate JSON automatically with XMLSpy.</div><div><br></div><div>I think I need to add validation capabilities from X3DUOM into the es6x3d libraries.  I can up the priority of that, adding set routine to constructors so that validation is done during instance construction and in setters, as you suggested.</div><div><br></div><div>I may not get to that for a couple of weeks.  I seem to have switched back into procedural generation mode again, this time probably for HAnim.  So HAnim will probably consume me for a while, I hope.</div><div><br></div><div>I found your 7 link.  It's important to note that not all browsers track the standards lockstep. I think we should probably track ES2015 (aka ES6) as that has the most browser support, unless you can find a reference suggesting otherwise.  I think if we move away from ES6, it should be towards TypeScript, which can likely transpile nearly any JavaScript version you like. I don't think JSON has moved much.  But yeah, we should be able to use the TypeScript transpiler or Babel on ECMA, JS, ISO, etc. to get a version which runs in many browsers.</div><div><br></div><div>John</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jun 7, 2020 at 1:55 AM Don Brutzman <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 6/4/2020 12:31 AM, John Carlson wrote:<br>
> I also saw that JSON was standardized by ISO.  See:<br>
> <br>
> <a href="https://www.iso.org/standard/71616.html" rel="noreferrer" target="_blank">https://www.iso.org/standard/71616.html</a><br>
<br>
Dated 2017.<br>
<br>
ISO reference [7] below includes JSON and is dated 2018, so that takes precedence.<br>
<br>
X3D is an ISO/IEC spec so we always list other ISO/IEC specs first, based on ISO rules.<br>
<br>
ISO has been closely tracking with ECMA for a number of years now.  ECMA has liaison status so it is an additional layer of formal review that occurs.<br>
<br>
> Good news!<br>
<br>
Yes<br>
<br>
>  Can we progress without a standardized schema?<br>
<br>
Why sure.  Validation is never a requirement for operation, it is "merely" exceptionally valuable to tell whether something is correct or not.<br>
<br>
I personally don't think further work on X3D JSON is worthwhile on that until we get JSON validation capabilities.  What we have now seems to work for all cases, so further refinements will depend on such testing.  YMMV.<br>
<br>
> John<br>
> <br>
> On Thu, Jun 4, 2020 at 2:28 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a> <mailto:<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>>> wrote:<br>
> <br>
>     I saw internationalization for ECMAScript in your included image.  Very important!<br>
> <br>
>     John<br>
> <br>
>     On Wed, Jun 3, 2020 at 8:15 AM Don Brutzman <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>>> wrote:<br>
> <br>
>         As we start exploring potential upgrade to X3D Scene Access Interface (SAI) for ECMAScript (JavaScript), it is good to establish expectations for support.<br>
> <br>
>         Summary recommendation: we should use latest version for best compatibility and future stability.<br>
> <br>
>         This will be an agenda item Friday for X3D Working Group, let's discuss to ensure complete clarity, then enter a Mantis issue for planned X3D specification updates.<br>
> <br>
>         References of interest follow, all freely available:<br>
> <br>
>         [0] X3D Graphics Standards Relationships<br>
>         <a href="https://www.web3d.org/specifications/X3dSpecificationRelationships.png" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3dSpecificationRelationships.png</a><br>
>         <a href="https://www.web3d.org/specifications/X3dSpecificationRelationships.pdf" rel="noreferrer" target="_blank">https://www.web3d.org/specifications/X3dSpecificationRelationships.pdf</a><br>
> <br>
>         [1] X3D Architecture, 29.4.1 Script<br>
>         <a href="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/scripting.html#Script" rel="noreferrer" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/scripting.html#Script</a><br>
> <br>
>         "Browsers are not required to support any specific language. Detailed information on scripting languages is described in 29.2 Concepts. Browsers supporting a scripting language for which a language binding is specified shall adhere to that language binding (see _ISO/IEC 19777_)."<br>
> <br>
>         [2] X3D Architecture, 29.2.1 Overview<br>
>         <a href="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/scripting.html#ScriptingOverview" rel="noreferrer" target="_blank">https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/scripting.html#ScriptingOverview</a><br>
> <br>
>         "This clause describes the general mechanisms and semantics of all scripting access. _2.[I19775-2]_ defines a set of abstract scripting services and specific languages bound to those services."<br>
> <br>
>         TODO editorial erratum: inconsistent referencing style<br>
> <br>
>         [3] X3D Abstract : Scene Access Interface (SAI), ISO/IEC 19775-2:2015<br>
>               Clause 7 Conformance and minimum support requirements<br>
>         <a href="https://www.web3d.org/documents/specifications/19775-2/V3.3/Part02/conformance.html" rel="noreferrer" target="_blank">https://www.web3d.org/documents/specifications/19775-2/V3.3/Part02/conformance.html</a><br>
> <br>
>         [4] X3D Language Bindings : ECMAScript (JavaScript)<br>
>               ISO/IEC CD 19777-1:201x, Edition 2, v3.3<br>
>         <a href="https://www.web3d.org/documents/specifications/19777-1/V3.3/index.html" rel="noreferrer" target="_blank">https://www.web3d.org/documents/specifications/19777-1/V3.3/index.html</a><br>
> <br>
>         [5] X3D Language Bindings : ECMAScript (JavaScript), 2 Normative references<br>
>               I16262 - ISO/IEC 16262:2011 Information technology — ECMAScript language specification<br>
>         <a href="https://www.web3d.org/documents/specifications/19777-1/V3.3/Part1/references.html" rel="noreferrer" target="_blank">https://www.web3d.org/documents/specifications/19777-1/V3.3/Part1/references.html</a><br>
> <br>
>         [6] ISO/IEC 16262:2011<br>
>               Information technology — Programming languages, their environments and system software interfaces — ECMAScript language specification<br>
> <br>
>         "This standard has been revised by ISO/IEC 22275:2018"<br>
> <br>
>         [7] ISO/IEC 22275:2018<br>
>               Information technology — Programming languages, their environments, and system software interfaces — ECMAScript® Specification Suite<br>
>         <a href="https://www.iso.org/standard/73002.html" rel="noreferrer" target="_blank">https://www.iso.org/standard/73002.html</a><br>
> <br>
>               The electronic version of this International Standard can be downloaded from the ISO/IEC Information Technology Task Force (ITTF) web site.<br>
>         <a href="http://isotc.iso.org/livelink/livelink/fetch/2000/2489/Ittf_Home/PubliclyAvailableStandards.htm" rel="noreferrer" target="_blank">http://isotc.iso.org/livelink/livelink/fetch/2000/2489/Ittf_Home/PubliclyAvailableStandards.htm</a><br>
>         <a href="https://standards.iso.org/ittf/PubliclyAvailableStandards/c073002_ISO_IEC_22275_2018.zip" rel="noreferrer" target="_blank">https://standards.iso.org/ittf/PubliclyAvailableStandards/c073002_ISO_IEC_22275_2018.zip</a><br>
>               (10 pages long)<br>
> <br>
>         "The following Standards constitute the current ECMAScript Specification Suite (see Figure 1)"<br>
> <br>
>         * ECMA-262, ECMAScript® Language Specification<br>
>         * ECMA-402, ECMAScript® Internationalization API Specification<br>
>         * ISO/IEC 21778, Information technology — The JSON data interchange syntax [Adoption of ECMA-404]<br>
> <br>
>         Attached: Figure 1 — Components of the ECMAScript Specification Suite Standard<br>
> <br>
>         [8] Standard ECMA-262 - Ecma International<br>
>         <a href="https://www.ecma-international.org/publications/standards/Ecma-262.htm" rel="noreferrer" target="_blank">https://www.ecma-international.org/publications/standards/Ecma-262.htm</a><br>
>               10th edition (June 2019)<br>
> <br>
>         "Standard ECMA-262. This Standard defines the ECMAScript 2019 general-purpose programming language. Kindly note that the normative copy is the HTML version; the PDF version has been produced to generate a printable document. This 10th edition has been prepared under the Ecma RF patent policy."<br>
> <br>
>         Gosh, that was easy wasn't it...<br>
> <br>
>         As ever, all comments welcome.  Have fun with X3D and JavaScript!   8)<br>
> <br>
>         all the best, Don<br>
>         -- <br>
>         Don Brutzman  Naval Postgraduate School, Code USW/Br <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a> <mailto:<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>><br>
>         Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br>
>         X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br>
>         _______________________________________________<br>
>         x3d-public mailing list<br>
>         <a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a> <mailto:<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
>         <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
> <br>
<br>
all the best, Don<br>
-- <br>
Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a><br>
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<br>
X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman" rel="noreferrer" target="_blank">http://faculty.nps.edu/brutzman</a><br>
</blockquote></div>