<div dir="auto">I don’t expect devs using JavaScript to also use my JSON schema in a browser.  My guess is that they will do validation on the server, such that the schema does not need to be downloaded.  Or if validation is necessary in the browser, they may shrink the schema.  Another option is to convert JSON to a DOM document (X3DJSONLD.*) and validate the DOM document.   Software other than mine should provide their own/borrowed validation routines.   I’m expecting the DOM or scenegraph to be validated, not the JSON.   Whatever validates the DOM document or scenegraph will also validate the encodings (JSON).   This reduces the number of encodings/bindings to validate.   If someone wants to use a recent, non-standardized JSON schema in an X3d JavaScript program, let me know.</div><div dir="auto"><br></div><div dir="auto">My website supports php on the server, not node, java or python.   For that reason, I provide JSON validation in the browser.   I provide validation as a free service (hint: I didn’t write the validation routines).  <a href="https://coderextreme.net/X3DJSONLD/validator.html">https://coderextreme.net/X3DJSONLD/validator.html</a> (not recently tested)</div><div dir="auto"><br></div><div dir="auto">JavaScript SAI (es6x3d?) should proceed, but I’m not going to validate the JavaScript objects if they extend beyond something like JSON!   If someone wants to work on JavaScript SAI validation, speak up!</div><div dir="auto"><br></div><div dir="auto">The reason we don’t need JSON schema validation in Java is 1) we expect X3D to be written primarily in Java, and 2) There’s XML/DOM validation.  3) There’s scenegraph validation.</div><div dir="auto"><br></div><div dir="auto">I offer X3DJSONLD.java free as a converter from a JSON object to a DOM document.</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 Mon, Jan 23, 2023 at 5:25 PM 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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="auto">I have not tested the X3DJSAIL build recently, it’s been over a week since this was reported.</div><div dir="auto"><br></div><div dir="auto">I was hoping we could get a buildable X3DJSAIL, sorry that I misused “it.”  I do that a lot and strive to improve upon.  At this time, I don’t know the status of X3DJSAIL.  I will assume I can rebuild safely.  I do know that issue tickets (ala github) can improve communication.</div><div dir="auto"><br></div><div dir="auto">To clarify:</div><div dir="auto"><br></div><div dir="auto">I use X3DJSAIL’s DOM+validation code to validate JSON files in a java app (Validat….java) would be more correct.   I cannot do that if the X3DJSAIL jar doesn’t build; my build breaks if X3DJSAIL build breaks.   There’s no JSON Schema involved.   I have moved my X3DJSAIL jar location in my subversion repository to something  that doesn’t get deleted.  That means my X3DJSAIL is disconnected from the standard build.  I know your goal is to have a “client-facing” X3DJSAIL, such that you don’t have to support X3DJSAIL builds by others.   I know I’m on the bleeding edge.   I will try to step back and proceed with tickets on <a href="http://sourceforge.net" target="_blank">sourceforge.net</a>.</div><div dir="auto"><br></div><div dir="auto">As TextureProjector is new in X3D4, perhaps X3DJSAIL does not include it yet?</div><div dir="auto"><br></div><div dir="auto">Frankly, I’m hoping for something even better than JSON schema, I don’t hold your same hope for JSON schema standards as you do.   I hope that someone can come up with something like es6x3d to do validation of JSON files.   Since we already have a python validator and a Java validator, a JavaScript validator seems appropriate.   I apologize for taking us down the JSON Schema path.   I thought it would provide security that X3DJSONLD.js does not provide but Ajv does (don’t click ok).  I’ve even implemented a JSON validator on my website.</div><div dir="auto"><br></div><div dir="auto">As we’ve noted, Khronos has moved to standardize without a standard JSON schema. We already know of tools like JSON parsers get us much of the way.</div><div dir="auto"><br></div><div dir="auto">I believe full implementation of JavaScript SAI validation may be the future.   There are at least 4 starting points to choose from.</div><div dir="auto"><br></div><div dir="auto">John</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 23, 2023 at 2:12 PM Brutzman, Donald (Don) (CIV) <<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-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div lang="EN-US" link="blue" vlink="purple" style="overflow-wrap: break-word;"><div><p class="MsoNormal">John, there is no JSON validation in X3D-Edit or X3DJSAIL because there is not standardized JSON Schema.  When that occurs, we can update/autogenerate X3D JSON Schema and begin testing tools.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Given the expressive power of JSON Schema, am expecting that future tests will match prior tests and detect encoding errors similar to expressive power of X3D XML Schema.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Not new news…  Until then I don’t want to keep repeating work that is not completely correct.  Hope this helps.<u></u><u></u></p></div></div><div lang="EN-US" link="blue" vlink="purple" style="overflow-wrap: break-word;"><div><p class="MsoNormal"><span style="font-size:10pt;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:10pt;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:10pt;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:10pt;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:10pt;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:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, Navy robotics https://</span> <span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" target="_blank" style="font-family:"Courier New"">faculty.nps.edu/brutzman</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-style:solid none none;border-top-width:1pt;padding:3pt 0in 0in;border-top-color:rgb(225,225,225)"><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<br><b>Sent:</b> Wednesday, January 18, 2023 4:24 AM<br><b>To:</b> X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>>; Michalis Kamburelis <<a href="mailto:michalis.kambi@gmail.com" target="_blank">michalis.kambi@gmail.com</a>><br><b>Subject:</b> Re: [x3d-public] Weird java compilation problem building X3DJSAIL. Waiting patiently. Zzz<u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">IFS.json passes X3DJSAIL validation, Ajv validation, and as we've seen, it passes validation in X3D-Edit.<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">So far, it only reports errors as XML in view3dscene. tested in X3D-Edit.  I will pass this off to Michalis for now.<u></u><u></u></p></div><div><p class="MsoNormal"><br>JSON and XML attached.<u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Wed, Jan 18, 2023 at 6:08 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-style:none none none solid;border-left-width:1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in;border-left-color:rgb(204,204,204)"><div><p class="MsoNormal">Repeat by using:<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">$ ant create.X3DJSAIL<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">(update recently done...any other steps required?)<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I can't do JSON validation with Java/X3DJSAIL without a jar,  I will try with an older jar with a similar name.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">John<u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Sun, Jan 15, 2023 at 12:21 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-style:none none none solid;border-left-width:1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in;border-left-color:rgb(204,204,204)"><div><p class="MsoNormal">I’m hoping some X3DJSAIL/ant people could address this.  Patiently waiting, I haven’t updated my copy today.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Sat, Jan 14, 2023 at 3:32 AM John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-style:none none none solid;border-left-width:1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in;border-left-color:rgb(204,204,204)"><div><div><div><div><p class="MsoNormal">Error: "org.web3d.x3d.sai.TextureProjector does not exist"<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I will try to rebuild from source folder.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">John<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">create.X3DUOM.JAXB.schema:<u></u><u></u></p></div><div><p class="MsoNormal">     [echo] Netbeans 11+ (Java 12+) prerequisite is to include following in your netbeans.conf file:<u></u><u></u></p></div><div><p class="MsoNormal">     [echo]   -J-Djavax.xml.bind.context.factory=com.sun.xml.bind.v2.ContextFactory<u></u><u></u></p></div><div><p class="MsoNormal">     [echo] Ant xjc with classpath=C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\lib\support\jaxb/*.jar<u></u><u></u></p></div><div><p class="MsoNormal">      [xjc] Consider using <depends>/<produces> so that XJC won't do unnecessary compilation<u></u><u></u></p></div><div><p class="MsoNormal">      [xjc] Compiling file:/C:/x3d-code/<a href="http://www.web3d.org/specifications/X3dUnifiedObjectModel.xsd" target="_blank">www.web3d.org/specifications/X3dUnifiedObjectModel.xsd</a><u></u><u></u></p></div><div><p class="MsoNormal">      [xjc] Writing output to C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\src<u></u><u></u></p></div><div><p class="MsoNormal">     [echo] Compiling org.web3d.x3d.x3duom JAXB classes<u></u><u></u></p></div><div><p class="MsoNormal">    [javac] Compiling 29 source files to C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\classes<u></u><u></u></p></div><div><p class="MsoNormal">    [javac] warning: [options] system modules path not set in conjunction with -source 16<u></u><u></u></p></div><div><p class="MsoNormal">    [javac] 1 warning<u></u><u></u></p></div><div><p class="MsoNormal">     [echo] create autogenerated Java source code:<u></u><u></u></p></div><div><p class="MsoNormal">     [java] source-code autogeneration assist: $insertSourceMarkers=false<u></u><u></u></p></div><div><p class="MsoNormal">     [copy] Copying 1 file to C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\src\org\web3d\x3d\sai<u></u><u></u></p></div><div><p class="MsoNormal">     [copy] Copying C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\X3DJSAIL.html to C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\src\org\web3d\x3d\sai\overview.html<u></u><u></u></p></div><div><p class="MsoNormal">     [echo] Compiling C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\src/org/web3d/x3d/sai interfaces<u></u><u></u></p></div><div><p class="MsoNormal">    [javac] anomalous package-info.java path: package-info.java<u></u><u></u></p></div><div><p class="MsoNormal">    [javac] Compiling 453 source files to C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\classes<u></u><u></u></p></div><div><p class="MsoNormal">    [javac] warning: [options] system modules path not set in conjunction with -source 16<u></u><u></u></p></div><div><p class="MsoNormal">    [javac] C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\src\org\web3d\x3d\sai\TextureProjection\TextureProjector.java:59: error: package org.web3d.x3d.sai.TextureProjector does not exist<u></u><u></u></p></div><div><p class="MsoNormal">    [javac] public interface TextureProjector extends  org.web3d.x3d.sai.TextureProjector.X3DTextureProjectorNode<u></u><u></u></p></div><div><p class="MsoNormal">    [javac]                                                                              ^<u></u><u></u></p></div><div><p class="MsoNormal">    [javac] C:\x3d-code\<a href="http://www.web3d.org" target="_blank">www.web3d.org</a>\x3d\stylesheets\java\src\org\web3d\x3d\sai\TextureProjection\TextureProjectorParallel.java:59: error: package org.web3d.x3d.sai.TextureProjector does not exist<u></u><u></u></p></div><div><p class="MsoNormal">    [javac] public interface TextureProjectorParallel extends  org.web3d.x3d.sai.TextureProjector.X3DTextureProjectorNode<u></u><u></u></p></div><div><p class="MsoNormal">    [javac]<u></u><u></u></p></div></div></div></div></blockquote></div></div></blockquote></div></blockquote></div></div></div></blockquote></div></div>
</blockquote></div></div>