<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body>
    <p>Don,</p>
    <p>I did a bit more digging for -children with @USE fields. 
      -children is only used for #comment's   I think this should be
      allowed, but not really sure.</p>
    <p>"required" requires an array around the fields that are required.</p>
    <p>          "required": [<br>
                  "@USE"<br>
                ],</p>
    <p>This is formatted by jsonlint, so I can not really change output
      unless we find a better pretty-printer.  jsonlint also checks low
      level grammar.</p>
    <p>I suggest you might look into a JSON-to-JSON translation with
      XMLSpy.  I'm guessing you can do a lot of stylesheet programming
      against JSON now (Woohoo!).<br>
    </p>
    <p>Removed regex/pattern from JSON schema for now.   Recall that we
      may want to change the X3DUOM attribute to pattern from regex.   
      Let me know.<br>
    </p>
    <p>Refined comment verbage in @USE -children:</p>
    <p>"#comment": { "type": "string", "$comment": "#comment statements
      are the only allowed in -children node when using a USE field" }</p>
    <p>Ajv JSON validation results minus recent changes, I haven't had
      an opportunity to rerun X3dToJson.xslt on entire archive since a
      few days ago.  Note that some of these came back after I reran the
      archive:</p>
    <p>$ grep Ajv results.txt |grep -v XvlShell|grep -v
      RigidBodyPhysics|grep -v Gltf|grep -v Basic/HumanoidAnimation|grep
      -v riginal|grep -v development | sed 's/[^\/]*//' | xargs ls -l<br>
      -rw-rw-r-- 1 coderextreme coderextreme   11913 Oct 14 18:05
/c/x3d-code/www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeB.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme   12619 Oct 14 18:05
/c/x3d-code/www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeC.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme    9669 Oct 14 18:07
/c/x3d-code/www.web3d.org/x3d/content/examples/Basic/Geospatial/newGeospatialScene.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme 1216341 Oct 14 18:10
/c/x3d-code/www.web3d.org/x3d/content/examples/Basic/Points/ArchimedesPointProperties.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme   15381 Oct 14 18:10
/c/x3d-code/www.web3d.org/x3d/content/examples/Basic/Points/BasicPointSprites.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme   11420 Jul 24 10:41
/c/x3d-code/www.web3d.org/x3d/content/examples/Savage/Locations/Dardanelles/dardanel/Display.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme   11416 Jul 24 10:44
/c/x3d-code/www.web3d.org/x3d/content/examples/Savage/Locations/StraitsOfHormuz/StraitsOfHormuz-Small/Display.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme    9239 Oct 14 18:31
/c/x3d-code/www.web3d.org/x3d/content/examples/Savage/ModelDetailing/MilitaryCrestsAndSeals/COMDESRON31/COMDESRON31.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme   19838 Oct 14 18:31
/c/x3d-code/www.web3d.org/x3d/content/examples/Savage/ModelDetailing/MilitaryCrestsAndSeals/COMDESRON31/DESRON31Test.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme    9224 Oct 14 18:31
/c/x3d-code/www.web3d.org/x3d/content/examples/Savage/ModelDetailing/MilitaryCrestsAndSeals/COMDESRON9/COMDESRON9.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme    9215 Oct 14 18:31
/c/x3d-code/www.web3d.org/x3d/content/examples/Savage/ModelDetailing/MilitaryCrestsAndSeals/CSG11/CSG11.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme    9779 Oct 12 03:48
/c/x3d-code/www.web3d.org/x3d/content/examples/Vrml2Sourcebook/Chapter30Scripts/Figure30_1ScriptSlidingBall.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme   10033 Oct 14 18:38
/c/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/AllAudioGraphNodesTest.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme   15316 Oct 14 18:38
/c/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/Filters.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme   15098 Oct 14 18:38
/c/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/AudioSpatialSound/SpatialAudioCameraAnimation.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme    7141 Apr 21  2017
/c/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/HelloWorldScenes/HelloWorldCommentedAlternativeEncoding.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme    7669 Oct 14 18:41
/c/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/TextureMapping/MultiTextureDesignPattern.json<br>
      -rw-rw-r-- 1 coderextreme coderextreme  215088 Oct 14 18:41
/c/x3d-code/www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/TextureMapping/MultiTextureTeapot.json</p>
    <p>I will continue with comprehensive python validation testing.  I
      really have to stop typing on a mechanical keyboard.</p>
    <p>Here's the schema (just checked in):</p>
    <p><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></p>
    <p>John<br>
    </p>
    <p>On 10/18/21 5:09 PM, Brutzman, Donald (Don) (CIV) wrote:<br>
    </p>
    <blockquote type="cite"
cite="mid:BY3PR13MB48844C9B001FFBC2410A0BA5C4BC9@BY3PR13MB4884.namprd13.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <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;}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;}span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}div.WordSection1
        {page:WordSection1;}ol
        {margin-bottom:0in;}ul
        {margin-bottom:0in;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <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""><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.0pt;font-family:"Courier New"">all
            the best, Don<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.0pt;font-family:"Courier New"">--
            <o:p>
            </o:p></span></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><o:p></o:p></span></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<o:p></o:p></span></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<o:p></o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
  </body>
</html>