<div dir="auto">First off, I have no plans to deprecate X3D JSON.  My goal is to remove roadblocks to standardization.  Currently, the roadblock is “JSON Schema.”  Effort has been applied to replace JSON Schema with XML Schema in Java.  Further effort could be applied to do similar for VRML with a DOM parser (but please use view3dscene or similar ).</div><div dir="auto"><br></div><div dir="auto">Very long and rambling.  More musing than anything.  I tried to address the high points from Don’s message.  I do want to put in a plug for X3DJSAIL as I’ve found it invaluable for XML, XSD (with the inclusion of Xerces),  DOM and scenegraph validation.</div><div dir="auto"><br></div><div dir="auto">Don, as previously mentioned, MicroSoft/GitHub is now prominently displayed on the <a href="http://json-schema.org">json-schema.org</a> website, and this does not bode well for JSON schema standardization, except as something used exclusively with Microsoft products.  I am currently seeing XSD based DOM validation in the browser as a non-starter as well.  I don’t even see that MicroSoft is supporting XSD DOM validation in newer browsers.  Someone change my mind?  Are we getting an ECMAschema?</div><div dir="auto"><br></div><div dir="auto">I realize that document validation in the web browser is probably a bad idea anyway, and there looks to be XSD validation in Node.js.  I’m  thinking WASM-based validation for DOM is also a non-starter, but there may be more developments with WASM and DOM.</div><div dir="auto"><br></div><div dir="auto">Right now Java XSD validation of JSON looks very promising, with code already working.  I suggest this is a good pathway forward, and already has more working validators in other Web3d Consortium software, like X3DJSAIL/Xerces, which I use for XSD validation .  My Java JSON to DOM code needs extensive testing;  I do a lot of validation of HAnim, and this is why I need ulimit/llimit default values removed from X3dToJson.xslt and X3dTidy.xslt output.  I suggest the creation of the equivalent JsonToX3d.xslt usable with Saxonica libraries.  We need lots of examples of JSON without Script nodes to do things properly.  I already have some crude scripts working for comparing XML in to XML out.  Better round-tripping tools (SAX-based) are desired.  There will probably be updates required to X3dTidy.xslt in the future to support roundtrips.  I realize there’s an X3D canonicalizer,  but I don’t think I currently have the disk space—something in memory would be great.  I probably have more memory than disk space.</div><div dir="auto"><br></div><div dir="auto">I am speaking of Holger’s x3d-tidy to convert XML to JSON, not a stylesheet.  Sorry I didn’t add clarification.  I have found some potential head and Transform children ordering issues in x3d-tidy output.  I don’t have a solution in X3DJSONLD yet.  I have not yet received notification that my x3d-tidy issues are being addressed, probably due to the holidays.</div><div dir="auto"><br></div><div dir="auto">If the Web3D Consortium or Khronos or MSF wants to standardize JSON schema, that might actually work.  I am open to discussing this on Zoom.  Unfortunately, I feel unable to work on such a project, unless I can participate using  an iPhone editor.  I can be an “expert” observer if needed, but I’m guessing there’s many glTF people too.</div><div dir="auto"><br></div><div dir="auto">My JSON schema generators already use X3DUOM pretty much exclusively.  I don’t really have any templates yet.  Python code, yes.  I do have a Python program that prints out English rules.  As Don often tells me, we need mappings.  Ideally, I could write a program to create mappings between X3DUOM and JSON Schema.  Probably it would be easy to pull nodes out of X3DUOM and equivalent nodes out of my “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.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">We have had discussions in zoom calls that didn’t go anywhere already.  My suggestions to use X3DJSAIL for JSON validation were roundly rejected.  Perhaps X3D ECMAScript SAIL would be a good place to add JSON validation.  I do have some python code which could be used to base a validator on—from my JSON to Python work.  I do realize that sensitive information is more likely to be disclosed in more private settings.</div><div dir="auto"><br></div><div dir="auto">What I am proposing is a way forward without any JSON schema standardization, yet relying on XML/XSD Schema validation in tools like Xerces (by way of the X3DJSAIL library archive jar).</div><div dir="auto"><br></div><div dir="auto">I am not seeing Python JSON schema validation as usable in any production or batch scenario.  Perhaps with draft 07 of the JSON schema standard.  Try validating and see!</div><div dir="auto"><br></div><div dir="auto">Ajv remains my go to solution for JSON schema validation in the browser.  I suggest supporting this project, but there are difficulties implementing in the browser, and not for the light of heart, last I checked.  If someone needs help, let me know.  X3DJSONLD would be the place to start.</div><div dir="auto"><br></div><div dir="auto">Overall, I suggest that we try to reduce the amount of code we have to maintain for JSON, and putting effort where it’s needed, particularly in Blender or another authoring system (X3D-Edit) that could attract participants.  I don’t see Blender as an HAnim authoring system at this time, but I’m still a Blender noob.  I’m sure there’s a lot more we could do in Blender that isn’t related to HAnim (examples, please.  I plan on working on this next year).  Also, I’m well on the way to adding animation dope sheets (as a follow-on to animation chaining—thanks Andreas, Joe and Michalis) to X3D-Edit in my Java Jaminate project.  Participation (I could use some XML people) under an Apache license (same as NetBeans) is welcome!  <div><a href="https://github.com/coderextreme/jaminate">https://github.com/coderextreme/jaminate</a></div><div dir="auto"><br></div><div dir="auto">I know the X3D archive is important as a teaching tool, but I feel the XML should be de-emphasized.  Designers want to see eye-candy, not a bunch of XML, I suggest 3D galleries of Inlines and lists of Viewpoints with Anchors to source code.  Developers have already moved past XML to stuff like JSX.</div><div dir="auto"><br></div></div><div dir="auto">I do feel that an XML-like parser could be added to VRML, which might make XSLT useful for manipulating VRML.  DOM probably won’t cut it for large files though, so operating with SAX-like or StAX-like parsers and XPath/XQuery are probably indicated for VRML.</div><div dir="auto"><br></div><div dir="auto">John</div><div dir="auto"><br></div><div><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>