<div dir="ltr"><div>Glad you are a member!</div><div><br></div><div>Searching for "web3d license" instantly reveals</div><div><ul><li>Web3D Consortium: License</li><li><a href="https://www.web3d.org/license">https://www.web3d.org/license</a></li></ul><div>More information about license can be found at</div></div><div><ul><li>X3D Scene Authoring Hints: License</li><li><a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#license">https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#license</a></li></ul></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace">Have fun with X3D! 😀</font></div><div style="color:rgb(34,34,34)"><font face="monospace"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Mon, Oct 6, 2025 at 8:25 AM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</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"><div dir="auto">Note that I’ve joined the Consortium. I will try to add Web3D Consortium license to the enclosed links, if someone can give me a link to the recent license. I did see a submission form, probably for conferences ???</div><div dir="auto"><br></div><div dir="auto">Also, it would be good to know any metadata required.</div><div dir="auto"><br></div><div dir="auto">My JSON schemas are here, but I am unaware of the correct metadata to add for licensing.</div><div dir="auto"><br></div><div dir="auto"><div><a href="https://github.com/coderextreme/x3dvalidate/tree/master/schemas" target="_blank">https://github.com/coderextreme/x3dvalidate/tree/master/schemas</a></div><br></div><div dir="auto">Really, all the data is from X_ITE and X3DUOM, so I’m not even sure if I control the licensing.</div><div dir="auto"><br></div><div dir="auto">I think the schemas could be enhanced in a few areas, documentation, licensing, and ref naming. Suggestions are welcome, in schema form. While Roy probably named his refs by hand, I’m looking for something automated. Perhaps we could leverage autonaming using a web tool, but i doubt if that’s repeatable. I believe the JSON schema community has addressed documentation, but I am blissfully unaware of such things.</div><div dir="auto"><br></div><div dir="auto">I do know that the specification currently includes iri-reference, so I’ll probably be looking at whether ajv-formats now includes iri-reference:</div><div dir="auto"><br></div><div dir="auto"><div><dl><dt style="float:left;margin-right:1em;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;color:rgb(34,34,34)" dir="auto">“uri:</dt><dd style="margin-bottom:0.8em;min-height:1.3em;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;margin-left:1.5em;color:rgb(34,34,34)">A string instance is valid against this attribute if it is a valid URI, according to [<a href="https://json-schema.org/draft/2020-12/json-schema-validation#RFC3986" style="text-decoration:none;font-family:"noto sans",arial,helvetica,sans-serif;color:rgb(34,34,238)" target="_blank">RFC3986</a>].</dd><dd style="margin-bottom:0px;min-height:0px;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;color:rgb(34,34,34)"></dd><dt style="float:left;margin-right:1em;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;color:rgb(34,34,34)">uri-reference:</dt><dd style="margin-bottom:0.8em;min-height:1.3em;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;margin-left:1.5em;color:rgb(34,34,34)">A string instance is valid against this attribute if it is a valid URI Reference (either a URI or a relative-reference), according to [<a href="https://json-schema.org/draft/2020-12/json-schema-validation#RFC3986" style="text-decoration:none;font-family:"noto sans",arial,helvetica,sans-serif;color:rgb(34,34,238)" target="_blank">RFC3986</a>].</dd><dd style="margin-bottom:0px;min-height:0px;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;color:rgb(34,34,34)"></dd><dt style="float:left;margin-right:1em;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;color:rgb(34,34,34)">iri:</dt><dd style="margin-bottom:0.8em;min-height:1.3em;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;margin-left:1.5em;color:rgb(34,34,34)">A string instance is valid against this attribute if it is a valid IRI, according to [<a href="https://json-schema.org/draft/2020-12/json-schema-validation#RFC3987" style="text-decoration:none;font-family:"noto sans",arial,helvetica,sans-serif;color:rgb(34,34,238)" target="_blank">RFC3987</a>].</dd><dd style="margin-bottom:0px;min-height:0px;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;color:rgb(34,34,34)"></dd><dt style="float:left;margin-right:1em;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;color:rgb(34,34,34)">iri-reference:</dt><dd style="margin-bottom:0.8em;min-height:1.3em;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;margin-left:1.5em;color:rgb(34,34,34)">A string instance is valid against this attribute if it is a valid IRI Reference (either an IRI or a relative-reference), according to [<a href="https://json-schema.org/draft/2020-12/json-schema-validation#RFC3987" style="text-decoration:none;font-family:"noto sans",arial,helvetica,sans-serif;color:rgb(34,34,238)" target="_blank">RFC3987</a>].</dd><dd style="margin-bottom:0px;min-height:0px;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;color:rgb(34,34,34)"></dd><dt style="float:left;margin-right:1em;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;color:rgb(34,34,34)">uuid:</dt><dd style="margin-bottom:0.8em;min-height:1.3em;font-family:"noto sans",arial,helvetica,sans-serif;font-size:14px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;margin-left:1.5em;color:rgb(34,34,34)" dir="auto">A string instance is valid against this attribute if it is a valid string representation of a UUID, according to [<a href="https://json-schema.org/draft/2020-12/json-schema-validation#RFC4122" style="text-decoration:none;font-family:"noto sans",arial,helvetica,sans-serif;color:rgb(34,34,238)" target="_blank">RFC4122</a>].”</dd></dl></div><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">John </div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 5, 2025 at 6:14 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</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"><div><div><div dir="auto">No need for response! I’m realizing I should get the bboxSize for a couple of humanoids in order to scale position interpolators.</div><div dir="auto"><br></div><div dir="auto">Since there are multiple drafts of JSON meta-schema (aka JSON schema), i have been keeping track of the X3D JSON schema generation code versions. I personally would work from 2020-12 backwards if we want to cover all drafts.</div><div dir="auto"><br></div><div dir="auto"><div dir="auto"><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/etgenerateJSONschema.py" target="_blank">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/etgenerateJSONschema.py</a> draft 7.</div><div dir="auto"><br></div><div dir="auto"><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/etgenerateJSONschema2019-09.py" target="_blank">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/etgenerateJSONschema2019-09.py</a><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/etgenerateJSONschema2020-12.py" target="_blank">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/etgenerateJSONschema2020-12.py</a></div><br></div><div dir="auto"><br></div><div dir="auto">I believe Roy’s schema was draft 7, or I upgraded.</div><div dir="auto"><br></div><div dir="auto">Some of the draft 7 code was carried (updated) in other versions:</div><div dir="auto"><br></div><div dir="auto"><div><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/geoSystem.schema" target="_blank">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/geoSystem.schema</a></div><br></div><div dir="auto"><br></div><div dir="auto">Autogeneration of this part of X3D JSON schema is highly desired, and should be sought first.</div><div dir="auto"><br></div><div dir="auto">If X3DUOM v3.0 to v3.3 is also kept up to date, we should be able to easily set up JSON schemas for several versions of X3D architecture as well. This probably means 20+ schemas to cover all cases. At one point, I was covering all recent X3D architecture versions, 3.0 through 4.0.</div><div dir="auto"><br></div><div dir="auto">This is a skeleton script to do that, for JSON draft schema 2020-12.</div><div dir="auto"><br></div><div dir="auto"><div><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/generateSchemas.py" target="_blank">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/generateSchemas.py</a></div><br></div><div dir="auto">I do realize that .xslt is good for XML formats, but I have a warm place for ElementTree. It’s not the same as Java XML parsing. Definitely worth checking out! Note that I don’t believe that ElementTree requires an extra download at all! BeautifulSoup, Pyxie, DOM and SAX appear to be available as well. Hmm!<br></div><div dir="auto"><br></div><div dir="auto">I, too, would enjoy the challenge of improving JSON schema, but I suspect you will beat my fiddling! I certainly couldn’t accomplish what you and Holger did creating JSON files. I’m only playing with one string!</div><div dir="auto"><br></div><div dir="auto">We should probably discuss componentized and/or profilized schemas. Also browser specific schemas (X3DUOM versions for specific browsers). I can’t really wrap my mind around the complexity, currently. Extra help is certainly welcome, but let’s focus on 1-2 versions first! Note that my code used to support v3.* and v4 of X3D, but now covers v4.0.</div><div dir="auto"><br></div><div dir="auto">We should probably have a face-to-face meeting about missing inheritance in X3DUOM. There might be something that’s not communicated over email well. I can also divert to sourceforge.</div><div dir="auto"><br></div><div dir="auto"><div dir="auto"><br><span style="font-size:19px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;background-color:rgba(0,0,0,0);border-color:rgb(0,0,0);color:rgb(0,0,0);display:inline">I will speak with my wife about rejoining the Consortium, as you apparently invited me in another message. My daughter is currently in college and is planning study abroad. My wife and I are living on fixed income. I have a 2016 desktop which could be traded for, but it probably doesn’t do Windows 11 or fancy gpus, comes with a Nvidia GTX 980. I have run Linux on it. It was designed for a 1080 or 1080 Ti. It runs on a Samsung SSD which I ran regression tests on, so I don’t know TTL, an expert would know better. I can at least install a version of Linux. I upgraded mainly for Windows 11 and to get a raytracing graphics card.</span></div></div></div></div></div><div><div><div dir="auto"><div dir="auto"><br></div></div></div><div></div></div><div><div><div dir="auto"><div dir="auto"><br></div><div dir="auto">John </div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 5, 2025 at 2:52 PM Don Brutzman <<a href="mailto:don.brutzman@gmail.com" target="_blank">don.brutzman@gmail.com</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"><div dir="ltr"><div>Thanks for thinking ahead. I will let you and mailing list know when I'm ready to engage on this topic - not now, first things first.</div></div><div dir="ltr"><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">Relative Motion Consulting <a href="https://RelativeMotion.info" style="font-family:monospace" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 5, 2025 at 12:50 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</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"><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 5, 2025 at 1:19 PM Don Brutzman <<a href="mailto:don.brutzman@gmail.com" target="_blank">don.brutzman@gmail.com</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"><div dir="ltr"><div>[cc: Dick and Joe]</div><div><br></div><div>Thanks for helpful information John. Again agreeing. As recently repeated publicly several times, indeed for several years now:</div><div><ul><li>We are developing each specification in order. Getting XML, ClassicVRML and Compressed Binary ready and consistent is a big step, so that the followin encoding specifications can have similar form and corresponding functionality.</li></ul></div></div></blockquote><div dir="auto"><br></div><div dir="auto">I don’t have a problem with waiting on JSON standards. All that it really affects is things like incorporation into Castle Engine/Viewer. I don’t really use X3D JSON for HAnim work, and am currently using Python, XML and VRML. X3DJSONLD has a critical foundation on JSON, but that should be able to be easily transitioned off JSON, since it mainly relies on DOM.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><ul dir="auto"><li></li><li>Next encoding specifications are EXI, JSON, and Turtle (for Semantic Web).</li><li>We will autogenerate an X3D JSON Schema from X3DUOM, no doubt starting with patterns you have established.</li><li>We have a huge existing test suite of JSON models and will be able to verify and validate thoroughly.</li><li>We will align with whatever JSON Schema is most authoritative.</li><li>I do not know what ISO will say about using a draft JSON schema - that is not a standard.</li></ul></div></div></blockquote><div dir="auto"><br></div><div dir="auto">Point them at the ECMAScript and JSON standards and point out that VRML doesn’t have a schema. If we can demonstrate effectively that XML Schema can validate X3D JSON, that might be good enough. JSON schema will be in the standard, but informative, not authoritative.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><ul dir="auto"><li></li><li>It is worrisome and very strange that JSON schema is still draft after so many years. Why? What is broken or missing?</li></ul><div>Just found a possible answer <a href="https://json-schema.org/blog/posts/future-of-json-schema" target="_blank">here</a>... will push that discussion to the list.</div><div><br></div><div>Dick and I are proceeding at best possible speed, building consensus standards takes time.</div><div><br></div><div>Thanks for your many efforts. Onward we go...</div></div></div><div dir="ltr"><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">Relative Motion Consulting <a href="https://RelativeMotion.info" style="font-family:monospace" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Oct 5, 2025 at 2:51 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</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"><div><div dir="auto">Don, here is an informative glTF (JSON) schema. I believe their preferred format is glb in the spec. Since X3D JSON can be validated with XML schema, there’s no need to holdback JSON development for standardization.</div><div dir="auto"><br></div><div dir="auto"><a href="https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#appendix-a-json-schema-reference" target="_blank">https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#appendix-a-json-schema-reference</a></div><div dir="auto"><br></div><div dir="auto">The reason I wanted JSON schema is X3DJSONLD.* was under development, and I needed some way to validate what was coming out of X3dToJson.xslt. Other solutions involved converting JSON to DOM for validation , and were developed once X3DJSONLD more mature. X3DJSONLD in X3DJSAIL, X3DOM, X_ITE and Castle assume DOM validation. I don’t want to add a bunch of bloat for another validator. If people want to add JSON schema validation to those tools, I do have a little expertise. I do feel there might be some pushback about it.</div><div dir="auto"><br></div><div dir="auto">While X3D JSON schema can catch certain things like an SFNode being treated like an MFNode, and validation on the web is possible with XML schema, XML schema endures as the golden standard, i haven’t heard that XML schema is being sourced from X3DUOM. It seems like we have 3 standards for similar things. Perhaps people should look at each other’s standards and figure out how to make standards more effective, like detecting MFNode vs SFNode in XML conversion tools, and ordering of nodes in JSON schema.</div><div dir="auto"><br></div><div dir="auto">I think that maintaining fewer things will lead to more nimble standardization. I think that ensuring X3D to JSON (and more) stylesheets work on the web and on the server is preferable over adding additional schema. Even doing something with SaxonC and Python would help Python JSON output (beyond what Aaron is achieving), and add to better synchronization between X3DPSAIL and X3DJSAIL.</div><div dir="auto"><br></div><div dir="auto">If need be, I can hand over my schema creation scripts for converting to stylesheets.</div><div dir="auto"><br></div><div dir="auto">Again, last I heard about JSON schema standardization, they want to self-publish.</div><div dir="auto"><br></div><div dir="auto">Since all tools I am aware of convert JSON to DOM, XML validation is preferable. Otherwise, we should look at X3D JSON standardization through API validation, since we have to do that anyway.</div><div dir="auto"><br></div><div dir="auto">I realize the web3d consortium has their own reasons for developing their own schema (standards organizations develop test suites), I think effort is better spent on APIs which consume and produce JSON. Blender seems like something obvious.</div><div dir="auto"><br></div><div dir="auto">Perhaps instead of developing solely a family of standards, Web3d could develop a family of standards and then recommendations about the standards, so standardization isn’t delayed for decade or more. Recommendations could be like VRML to X3D DOM conversion.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">John</div><br><div class="gmail_quote" dir="auto"></div></div><div><div dir="ltr" class="gmail_attr">On Sun, Oct 5, 2025 at 12:09 AM Don Brutzman <<a href="mailto:don.brutzman@gmail.com" target="_blank">don.brutzman@gmail.com</a>> wrote:<br></div></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"></div></blockquote></div><div><div>thanks John. next three standards will be EXI, JSON, and Turtle.</div><div><br></div></div><div><div dir="auto">hopefully JSON someday has an official schema specification to finally... they are still stuck on 2022 draft IETF RFCs, not sure why.</div><div><ul dir="auto"><li><a href="https://json-schema.org/specification" target="_blank">https://json-schema.org/specification</a></li></ul></div></div><div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><span style="font-family:monospace">all the best, Don</span></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace" style="font-family:monospace;color:rgb(34,34,34)">Relative Motion Consulting <a href="https://RelativeMotion.info" style="font-family:monospace" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 4, 2025 at 1:53 PM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</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"><div><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Oct 4, 2025 at 3:22 PM Don Brutzman via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">If progress continues as planned, we should be able to have a draft XML DTD/Schema (and hopefully JSON Schema too) in the spring in order to start building, validating, and evaluating models with such new features.</span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><br></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">Don:</span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><br></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">Any time you want help with validating JSON documents, let me know. I can always rev-up my x3droundtrip project as well!</span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><br></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">I also note that jsonlint provides schema validation that I apparently missed!</span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><br></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">Here’s a version which supports <div dir="auto" style="font-family:arial,sans-serif"><span style="font-family:arial,sans-serif;font-size:19px;font-style:normal;font-weight:400;letter-spacing:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline;background-color:rgba(0,0,0,0);border-color:rgb(34,34,34);color:rgb(34,34,34)">draft </span><span style="font-family:arial,sans-serif;color:rgb(34,34,34)">JSON Schema 2020-12:</span></div></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><br></span></div><div dir="ltr" class="gmail_attr"><span style="font-family:arial,sans-serif;color:rgb(34,34,34)"><div style="font-family:arial,sans-serif"><a href="https://www.npmjs.com/package/@prantlf/jsonlint" style="font-family:arial,sans-serif" target="_blank">https://www.npmjs.com/package/@prantlf/jsonlint</a></div><div style="font-family:arial,sans-serif" dir="auto"><br></div><div style="font-family:arial,sans-serif" dir="auto">If you can work with uncertainties in npm (check package.json and package-lock.json dependencies and pinned versions, make sure you’re not running postinstall scripts). Note that npm already checks for vulnerabilities. And if you have GitHub, it also checks for issues in the package*.json files.</div><div style="font-family:arial,sans-serif" dir="auto"><br></div><div style="font-family:arial,sans-serif" dir="auto">I have not seen these features in ant, maven or gradle, but I have seen that maven repositories do report vulnerabilities.</div><div style="font-family:arial,sans-serif" dir="auto"><br></div><div style="font-family:arial,sans-serif" dir="auto">One issue I haven’t resolved is choosing emoji’s versus X3D URNs in url fields. It’s a matter of iri-reference verses uri-reference in the format properties in the schema.</div><div style="font-family:arial,sans-serif" dir="auto"><br></div><div style="font-family:arial,sans-serif" dir="auto">Note that I think you’ll probably find many issues with MFNode vs SFNode in X3dToJson.xslt which I haven’t reported. Most of my XML to JSON conversions have migrated to Holger’s x3d-tidy.</div><div style="font-family:arial,sans-serif" dir="auto"><br></div><div style="font-family:arial,sans-serif" dir="auto">John </div><br></span></div></div></div>
</blockquote></div>
</blockquote></div>
</div>
</blockquote></div>
</blockquote></div></div>
</blockquote></div>
</blockquote></div></div>
</div>
</div>
</blockquote></div></div>
</blockquote></div>