<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>You'll need a SAI library to do fullest verification.   We would
      have to dig deeper in the JSON schema standard to discover any
      additional constraints that can be added.</p>
    <p>This is why I spent a lot of time incorporating JSON import into
      X3DJSAIL.  I suggest you bring this up with the X3DJSAIL folks,
      that you want JSON import into X3DJSAIL, x3d.py, etc, I don't
      think it's imperative.<br>
    </p>
    <p>I have 4000 or so examples already, thanks.   Most of them pass
      my schema, at least with a JavaScript validator. I have reported
      the ones that don't, include the massive failure in the XMLSpy
      converted schema (in python).   We might be able to learn from it.
      <br>
    </p>
    <p>.x3d files are not described by JSON they are separate encodings.<br>
    </p>
    <p>In the JSON schema, USE and DEF are unrelated, even in XML
      Schema, I would purport.</p>
    <p>We really need a good SAI validator, which is present in
      X3DJSAIL, and x3d.py.  This is why I have tried to de-emphasize
      JSON schema, we have good libraries, if we want to add JSON
      loaders to them.  I do not feel that I am capable, and I have
      appealed for help in constructing es6x3d SAI library.<br>
    </p>
    <p>I have spent most of my time supporting X3DJSAIL in Java, Python
      and JavaScript.<br>
    </p>
    <p>There are scripts available that runs through the resources
      archives and applies X3D 4.0 JSON schema to them.</p>
    <p>Here is the main script, which you'll have to change if you want
      to run it in a separate folder.  There may be some tweaks with
      open() that you will have to apply on Windows 10.<br>
    </p>
    <p><a class="moz-txt-link-freetext" href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/test.py">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/python/test.py</a></p>
    <p>On Linux, you can run this from the python folder above, with the
      command:</p>
    <p>nohup python3 test.py 2>&1 > results.txt</p>
    <p>I don't totally understand why things broke today, but I have
      been getting it to work today.</p>
    <p>Yes, there are problems with the HAnim files.  I have basically
      not reported on many of them.  Would you like me to report to you
      so you can fix them.  I suggest writing a small program which
      reads in HAnim .x3d examples into X3DJSAIL, and validating them. 
      This is already done with X3dToJava.xslt, but you have to know how
      to compile with Java.   So I recommend trying X3dToPython.xslt
      instead.</p>
    <p>This repository should help with validating with Ajv:</p>
    <p><a class="moz-txt-link-freetext" href="https://github.com/coderextreme/x3dvalidate">https://github.com/coderextreme/x3dvalidate</a><br>
    </p>
    <p>Good luck!<br>
    </p>
    <p>John<br>
    </p>
    <div class="moz-cite-prefix">On 10/24/21 7:12 PM, Joseph D Williams
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:6175f65d.1c69fb81.f0bb4.4f43SMTPIN_ADDED_MISSING@mx.google.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style>@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}.MsoChpDefault
        {mso-style-type:export-only;}div.WordSection1
        {page:WordSection1;}ol
        {margin-bottom:0in;}ul
        {margin-bottom:0in;}</style>
      <div class="WordSection1">
        <p class="MsoNormal">Hi John, Getting this to work will help.
          Are you looking for examples to validate, beginning with a
          .x3d file? </p>
        <p class="MsoNormal">If I can include USE in the HanimDisplacer
          pt. then I can include USE as Interpolator key and value
          fields(?)</p>
        <p class="MsoNormal">Including a USE in any of the HAnim… nodes
          Joints, Segments, Sites is not going to work unless, well, I
          can’t really see how it would work in a ‘standard’ humanoid.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thanks,</p>
        <p class="MsoNormal">Joe</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div
          style="mso-element:para-border-div;border:none;border-top:solid
          #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
          <p class="MsoNormal" style="border:none;padding:0in"><b>From:
            </b><a href="mailto:yottzumm@gmail.com"
              moz-do-not-send="true">John Carlson</a><br>
            <b>Sent: </b>Sunday, October 24, 2021 11:44 AM<br>
            <b>To: </b><a href="mailto:brutzman@nps.edu"
              moz-do-not-send="true">Brutzman, Donald (Don) (CIV)</a><br>
            <b>Cc: </b><a href="mailto:x3d-public@web3d.org"
              moz-do-not-send="true">X3D Public Mailing List
              (x3d-public@web3d.org)</a><br>
            <b>Subject: </b>Re: [x3d-public] JSON Schema meeting
            minutes</p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Don, schema is here, python seems to be
          working with added metaschema checks.<br>
          <br>
          <a
href="https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/schema"
            moz-do-not-send="true">https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/schema</a><o:p></o:p></p>
        <div>
          <p class="MsoNormal"><o:p> </o:p></p>
        </div>
        <div>
          <p class="MsoNormal">Next on agenda is bpy to JSON conversion,
            possibly with added GUI/X3D conversion tool.<o:p></o:p></p>
        </div>
        <div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <p class="MsoNormal">John<o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"><o:p> </o:p></p>
          </div>
          <div>
            <div>
              <p class="MsoNormal">Sent from my iPad<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><br>
                <br>
                <o:p></o:p></p>
              <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                <p class="MsoNormal" style="margin-bottom:12.0pt">On Oct
                  18, 2021, at 5:09 PM, Brutzman, Donald (Don) (CIV)
                  <a class="moz-txt-link-rfc2396E" href="mailto:brutzman@nps.edu"><brutzman@nps.edu></a> wrote:<o:p></o:p></p>
              </blockquote>
            </div>
            <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
              <div>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">John and I reviewed his latest
                  schema today and discussed various design
                  considerations.<o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">His latest version, generated by a
                  Python program reading X3DUOM, is found as follows:<o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <ul style="margin-top:0in" type="disc">
                  <li class="MsoListParagraph"
                    style="margin-left:0in;mso-list:l0 level1 lfo1"><a class="moz-txt-link-freetext" href="https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/x3d-4.0-JSONSchema.json">https://github.com/coderextreme/X3DJSONLD/blob/master/src/main/schema/x3d-4.0-JSONSchema.json</a><o:p></o:p></li>
                </ul>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">Looking at the result in Firefox
                  was helpful because that has a great way to look at
                  JSON which allowed us to iconize/expand (fold/unfold)
                  as needed.  Excerpt follows.<o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">The result looks great.  One
                  refinement John will handle: for nodes with a USE
                  field, no -children nodes are permitted.<o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">Once he has the next version, I
                  will check it into the specifications directory (next
                  to X3D XML Schema and XML DOCTYPE).<o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">At that point we are ready to begin
                  further validation efforts using multivarious tools
                  against the many X3D examples in JSON, such as<o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <ul style="margin-top:0in" type="disc">
                  <li class="MsoListParagraph"
                    style="margin-left:0in;mso-list:l0 level1 lfo1"><a class="moz-txt-link-freetext" href="https://savage.nps.edu/Savage/GroundVehicles/Jeep/Jeep.json">https://savage.nps.edu/Savage/GroundVehicles/Jeep/Jeep.json</a><o:p></o:p></li>
                </ul>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">Testing without regex patterns is
                  good for now.  A prior version had acceptable regex,
                  so that appears to be do-able.<o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">Having fun with X3D JSON!  8)<o:p></o:p></p>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New""> </span><o:p></o:p></p>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New"">all the best, Don</span><o:p></o:p></p>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New"">-- </span><o:p></o:p></p>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New"">Don Brutzman  Naval Postgraduate School,
                    Code USW/Br        <a class="moz-txt-link-abbreviated" href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></span><o:p></o:p></p>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New"">Watkins 270,  MOVES Institute, Monterey
                    CA 93943-5000 USA    +1.831.656.2149</span><o:p></o:p></p>
                <p class="MsoNormal"><span
                    style="font-size:10.0pt;font-family:"Courier
                    New"">X3D graphics, virtual worlds, navy
                    robotics https://</span> <span
                    style="font-size:10.0pt;font-family:"Courier
                    New"">faculty.nps.edu/brutzman</span><o:p></o:p></p>
              </div>
            </blockquote>
          </div>
        </div>
        <p class="MsoNormal"
style="mso-margin-top-alt:0in;margin-right:.5in;margin-bottom:5.0pt;margin-left:.5in"> <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
  </body>
</html>