<div style="background-color:rgba(0,0,0,0)!important;border-color:rgb(255,255,255)!important"><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";font-size:19px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:1px;text-decoration:none;float:none;display:inline!important;background-color:rgba(0,0,0,0);border-color:rgb(49,49,49);color:rgb(49,49,49)">“Probably it would be easy to pull nodes out of X3DUOM and equivalent nodes out of my (JSON Schema) ‘templates.’  That is actually a really good idea.  Don, let me know if this seems like an agreeable path forward for JSON and JSON Schema.”</span></div><div dir="auto"><span style="font-family:-apple-system,"Helvetica Neue";font-size:19px;font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:1px;text-decoration:none;float:none;display:inline!important;background-color:rgba(0,0,0,0);border-color:rgb(49,49,49);color:rgb(49,49,49)"><br></span></div><div dir="auto" style="background-color:rgba(0,0,0,0)!important;border-color:rgb(255,255,255)!important"><font style="font-family:-apple-system,"Helvetica Neue";background-color:rgba(0,0,0,0);border-color:rgb(49,49,49);color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue"">It appears something like this was already done for VRML.</span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0);border-color:rgb(255,255,255)"><font style="font-family:-apple-system,"Helvetica Neue";background-color:rgba(0,0,0,0);border-color:rgb(49,49,49);color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue""><br></span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0)!important;border-color:rgb(32,33,36)!important"><font style="font-family:-apple-system,"Helvetica Neue";color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue"">So I have two paths before me, creating a full X3D VRML grammar from X3DUOM, or creating a mapping from X3DUOM to JSON schema by pulling out equivalent nodes out of each.</span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0);border-color:rgb(32,33,36)"><font style="font-family:-apple-system,"Helvetica Neue";color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue""><br></span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0);border-color:rgb(32,33,36)"><font style="font-family:-apple-system,"Helvetica Neue";color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue"">Which has higher priority in your mind?  I am well on the way to the first, but it relies on an  ANTLR grammar (Is there a spec or standard?) generated from X3DUOM and other sources by a Python script.  The second seems more green field and suitable to automation.</span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0);border-color:rgb(32,33,36)"><font style="font-family:-apple-system,"Helvetica Neue";color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue""><br></span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0);border-color:rgb(32,33,36)"><font style="font-family:-apple-system,"Helvetica Neue";color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue"">We already have a VRML grammar.  I might be able to add property ordering to JSON schema, if I can find it in XML Schema or X3DUOM.  My tendency is to go with XML Schema for JSON.</span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0);border-color:rgb(32,33,36)"><font style="font-family:-apple-system,"Helvetica Neue";color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue""><br></span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0);border-color:rgb(32,33,36)"><font style="font-family:-apple-system,"Helvetica Neue";color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue"">Specifically with VRML, I am looking to pull out OrientationInterpolators and providing options for transforming the SFRotation keyValue values (scaling by -1).</span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0);border-color:rgb(32,33,36)"><font style="font-family:-apple-system,"Helvetica Neue";color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue""><br></span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0);border-color:rgb(32,33,36)"><font style="font-family:-apple-system,"Helvetica Neue";color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue""><br></span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0);border-color:rgb(32,33,36)"><font style="font-family:-apple-system,"Helvetica Neue";color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue"">John</span></font></div><div dir="auto" style="background-color:rgba(0,0,0,0);border-color:rgb(255,255,255)"><font style="font-family:-apple-system,"Helvetica Neue";background-color:rgba(0,0,0,0);border-color:rgb(49,49,49);color:rgb(49,49,49)"><span style="word-spacing:1px;font-family:-apple-system,"Helvetica Neue""><br></span></font></div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Dec 19, 2023 at 9:16 PM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div lang="EN-US" link="#0563C1" vlink="#954F72" style="overflow-wrap: break-word;"><div class="m_3213537434609878587WordSection1"><p class="MsoNormal">John, sorry but I just am not understanding your message.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">X3dTidy.xslt is a stylesheet that fixes up .x3d files.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">“Deprecation” is a term used when a feature is expected to be removed from a language or API.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">JSON encoding validated by JSON schema is part of our plan for the coming year, as part of a new specification.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">We have long been waiting for JSON Schema draft to become an IETF standard, and also waiting for supporting Java tools that work so that we might apply to our X3D Examples.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">When we can finally go forward, we can automate production of your draft JSON Schema templates using X3DUOM for exactness and long-term stability.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">If the JSON schema draft is frozen, we might consider doing all this in 2024 sometime.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">None of this is new information.  If it would help everyone’s shared understanding to discuss these necessary steps together on a regular Friday X3D Working Group call, am happy to do so.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thanks for willingness to advance JSON Schema for X3D, when we can accomplish that successfully.<u></u><u></u></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New""><u style="font-family:"Courier New""></u> <u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">all the best, Don<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">-- <u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" target="_blank" style="font-family:"Courier New"">brutzman@nps.edu</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><span style="font-size:9pt;font-family:"Courier New"">X3D graphics, virtual worlds, navy robotics <a href="https://faculty.nps.edu/brutzman" target="_blank" style="font-family:"Courier New"">https://faculty.nps.edu/brutzman</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p></div></div><div lang="EN-US" link="#0563C1" vlink="#954F72" style="overflow-wrap: break-word;"><div class="m_3213537434609878587WordSection1"><p class="MsoNormal"><u></u> <u></u></p><div style="border-width:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;border-color:rgb(225,225,225) currentcolor currentcolor"><p class="MsoNormal"><b>From:</b> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> <b>On Behalf Of </b>John Carlson via x3d-public<br><b>Sent:</b> Tuesday, December 19, 2023 6:12 PM<br><b>To:</b> X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br><b>Cc:</b> John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br><b>Subject:</b> [x3d-public] Deprecating X3D JSON Schema<u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I plan on deprecating X3D JSON Schema in favor of XML Schema as soon as x3d-tidy outputs JSON in correct order (or I modify X3DJSONLD) and I figure out how to validate DOM in ECMAScript.  This has been accomplished in Java, so I’m hoping this will be easy in ECMAScript.  If someone wants to donate code to the cause, welcome!<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">John<u></u><u></u></p></div></div></div></blockquote></div></div>