<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body>
    <p>My first task will be downloading the 2020-12 JSON schema, and
      reviewing it against draft07 JSON schema, to see differences. 
      Then, I will pursue X3D JSON 4.0 schema generation using python
      (again).   We had decided before to use draft07, because no tools
      were available to pursue 2020-12 or 2019-09 JSON schema in Java. 
      Now there is one tool to do validation (see below). One reason I
      liked the draft07 approach is that the Python JSON validator I
      use, fastjsonschema, does not support 2012-02, and I already have
      draft07 working with multiple versions of X3D JSON schema in the
      same program (note that JSON schema has been converted to python):</p>
    <p>```</p>
    <p>import sys<br>
      import json</p>
    <p># the below packages are available in X3DJSONLD, they are X3D
      JSON schemas converted to python:</p>
    <p>import schemaparser30<br>
      import schemaparser31<br>
      import schemaparser32<br>
      import schemaparser33<br>
      import schemaparser40<br>
      <br>
      jsobj = json.loads(sys.stdin.read())<br>
      version = jsobj["X3D"]["@version"].replace(".", "")<br>
      try:<br>
          if version in [ "30", "31", "32", "33", "40" ]:<br>
              eval("schemaparser"+version+".validate(jsobj)")<br>
      except:<br>
              print('Invalid')</p>
    <p>```<br>
    </p>
    <p>At sometime, I think independent X3D JSON schema generation would
      be appropriate.  I did state that converting X3D XML Schema to X3D
      JSON schema with XMLSpy was probably infeasible due to field and
      comment prefixes in X3D JSON--You will have to provide hooks in
      XMLSpy to achieve this, or ask for more options to XMLSpy (which
      is possible) or XML schema.  I suggest running a test to see if
      the X3D JSON Schema produced will validate the 4000 examples
      generated by X3dToJson.xslt. The Web3D Consortium may send my
      sample X3D JSON schemas to Altova to meet requirements of X3D JSON
      Schema, with the requirement that their schema generation product
      will meet the Web3D Consortium's IP requirements, that is, we want
      everyone to be able to use the schema used, whether they have
      XMLSpy or not.<br>
    </p>
    <p>What I'm kind of confused about is whether we'll provide JSON
      validation with X3D*SAIL or /JSON schema/+/validation tools/ or
      both. I think having separate implementations would be a good
      plan. I am fairly confident that Don committed to supporting X3D
      JSON import into X3DJSAIL, but not using X3DJSONLD.java.  In
      particular, he suggested translating JSON to DOM document was not
      the preferred approach, but he was open to doing X3D JSON import
      with Saxon. I didn't ask him how he was going to get Saxon output
      into X3DJSAIL--would you like to comment, Don?  I know I haven't
      fully elucidated my thought processes around X3DJSONLD.java.   Why
      did I choose to convert to DOM?  Probably because I didn't see
      myself writing or generating X3D*SAIL for ECMAScript, I already
      tried to write X3DPSAIL and es6x3d, I merely don't seem to have
      the brain power or time.  I need to support my old tools, or
      transfer to one that has wider demand.   There are other issues
      like competing with X3DOM and X_ITE--I chose to play nice.  I
      didn't want to support 2 different SAI solutions, when X3DOM and
      X_ITE were already far down that path.<br>
    </p>
    <p>Here's the code in X3D4 JSON schema to support multiple versions:</p>
    <p>        "@version": {<br>
                "pattern": "^(\\s|\\S)*$",<br>
                "enum": [<br>
                  "3.0",<br>
                  "3.1",<br>
                  "3.2",<br>
                  "3.3",<br>
                  "4.0"<br>
                ],<br>
                "default": "4.0",<br>
                "$comment": "SFString inputOutput",<br>
                "type": "string"<br>
              }<br>
            },</p>
    <p>So I am fairly confident that the new 4.0 schema will be able to
      support older versions.  I would ask about XvlShell though. I
      think we may have some old files that have that node.</p>
    <p>I also note that one can change the @version property
      (inputOutput).  This seems counter-intuitive.<br>
    </p>
    <p>John<br>
    </p>
    <div class="moz-cite-prefix">On 10/11/21 6:48 PM, Brutzman, Donald
      (Don) (CIV) wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:BY3PR13MB4884DFC647C3ADB193AD9B82C4B59@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;}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;
        font-family:"Calibri",sans-serif;}div.WordSection1
        {page:WordSection1;}ol
        {margin-bottom:0in;}ul
        {margin-bottom:0in;}</style>
      <div class="WordSection1">
        <p class="MsoNormal">Attendees: John Carlson, Don Brutzman</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <ol style="margin-top:0in" type="1" start="1">
          <li class="MsoListParagraph"
            style="margin-left:-.25in;mso-list:l0 level1 lfo1"><i>JSON
              Schema Status</i><o:p></o:p></li>
        </ol>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">- <strong><span
              style="font-family:"Calibri",sans-serif">JSON
              Schema</span></strong> is a vocabulary that allows you to
          <strong><span
              style="font-family:"Calibri",sans-serif">annotate</span></strong>
          and
          <strong><span
              style="font-family:"Calibri",sans-serif">validate</span></strong>
          JSON documents.<o:p></o:p></p>
        <p class="MsoNormal">- <a class="moz-txt-link-freetext" href="https://json-schema.org">https://json-schema.org</a><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Looks like they have an updated numbering
          scheme. Latest published IETF Draft is 2020-12.  IETF requires
          that each draft gets updated each 6 months, but they have long
          missed meeting such goals.  We have to settle on what has
          meaningful tool support. <o:p></o:p></p>
        <ul style="margin-top:0in" type="disc">
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2"><a class="moz-txt-link-freetext" href="https://json-schema.org/specification-links.html#understanding-draft-names-and-numbers">https://json-schema.org/specification-links.html#understanding-draft-names-and-numbers</a><o:p></o:p></li>
        </ul>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Many implementations are listed at<o:p></o:p></p>
        <ul style="margin-top:0in" type="disc">
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2"><a class="moz-txt-link-freetext" href="https://json-schema.org/iplementations.html">https://json-schema.org/iplementations.html</a><o:p></o:p></li>
        </ul>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Looking at versions of Java
          implementations:<o:p></o:p></p>
        <ul style="margin-top:0in" type="disc">
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2">We
            previously used Everit but that looks to be stopped 2 years
            ago<o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2">Several
            implements support version 2019-09, only one reports 2020-12
            support<o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2">Snow
            <a class="moz-txt-link-freetext" href="https://github.com/ssilverman/snowy-json">https://github.com/ssilverman/snowy-json</a><o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2">Vert.x json
            schema
            <a href="https://github.com/eclipse-vertx/vertx-json-schema"
              moz-do-not-send="true"><span
                style="color:windowtext;text-decoration:none">https://github.com/eclipse-vertx/vertx-json-schema</span></a>
            (looks recent)<o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2">Jsonschmafriend
            <a class="moz-txt-link-freetext" href="https://github.com/jimblackler/jsonschemafriend">https://github.com/jimblackler/jsonschemafriend</a> (looks
            recent, supports 2020-12)<o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2">Gson
            <a class="moz-txt-link-freetext" href="https://en.wikipedia.org/wiki/Gson">https://en.wikipedia.org/wiki/Gson</a><o:p></o:p></li>
        </ul>
        <p class="MsoListParagraph"><o:p> </o:p></p>
        <p class="MsoListParagraph" style="margin-left:0in">Very
          interesting test page, can feed it a JSON schema and JSON file
          for validation:<o:p></o:p></p>
        <ul style="margin-top:0in" type="disc">
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2"><a class="moz-txt-link-freetext" href="https://tryjsonschematypes.appspot.com">https://tryjsonschematypes.appspot.com</a><o:p></o:p></li>
        </ul>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Interestingly the JSON Schema Store
          indicates 419 schemas are available, of various versions
          reaching back to draft-04..<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Gson (aka Google Gson) is an <a
            href="https://en.wikipedia.org/wiki/Open-source_software"
            title="Open-source software" moz-do-not-send="true">
            <span style="color:windowtext;text-decoration:none">open-source</span></a>
          <a
            href="https://en.wikipedia.org/wiki/Java_(programming_language)"
            title="Java (programming language)" moz-do-not-send="true">
            <span style="color:windowtext;text-decoration:none">Java</span></a>
          library to <a href="https://en.wikipedia.org/wiki/Serialize"
            title="Serialize" moz-do-not-send="true">
            <span style="color:windowtext;text-decoration:none">serialize</span></a>
          and deserialize Java objects to (and from)
          <a href="https://en.wikipedia.org/wiki/JSON" title="JSON"
            moz-do-not-send="true"><span
              style="color:windowtext;text-decoration:none">JSON</span></a>. 
          Conceivably it might be integrated with X3DJSAIL objects for
          X3D nodes and statements.  Supports many versions.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><b>Conclusion #1: given multiple tool
            support, we will pursue JSON Schema 2020-12 for X3D JSON,
            and further test across multiple programming languages.<o:p></o:p></b></p>
        <p class="MsoNormal"><b><o:p> </o:p></b></p>
        <p class="MsoNormal">Reaction: thank goodness we waited a couple
          of years rather than dig a hole with prior versions of tools
          that are now apparently defunct.  Latest version of JSON
          schema looks pretty stable and mature now, though we are
          certainly waiting for a stable standard (many years in
          development, still not done).  Good enough to give it a shot
          again.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">We are pretty adept at converting X3DUOM
          into other things.  Once we have a good pattern for X3D JSON
          Schema matching 2020-12, we can easily (1 week’s effort)
          autogenerate it.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">NPS will soon get an updated version of XML
          Spy.  They appear to support 2020-12. Interesting they have a
          new feature, apparently matching what we want to do.  Worth
          checking:<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:l2 level1 lfo4">Convert XML
            Schema to/from JSON Schema<o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l2 level1 lfo4"><a class="moz-txt-link-freetext" href="https://www.altova.com/manual/XMLSpy/spyenterprise/xsjson_schview_version.html">https://www.altova.com/manual/XMLSpy/spyenterprise/xsjson_schview_version.html</a><o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l2 level1 lfo4"><a class="moz-txt-link-freetext" href="https://www.altova.com/manual/XMLSpy/spyenterprise/urefconvert_xmlschematojsonschema.html">https://www.altova.com/manual/XMLSpy/spyenterprise/urefconvert_xmlschematojsonschema.html</a><o:p></o:p></li>
        </ul>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">We will look at this in the next meeting. 
          <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">---<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <ol style="margin-top:0in" type="1" start="2">
          <li class="MsoListParagraph"
            style="margin-left:-.25in;mso-list:l0 level1 lfo1"><i>John’s
              implementations<o:p></o:p></i></li>
        </ol>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Existing X3D JSON Schema drafts by John are
          found at<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">-
          <a class="moz-txt-link-freetext" href="https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/schema">https://github.com/coderextreme/X3DJSONLD/tree/master/src/main/schema</a></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">John’s current autogenerated X3D JSON
          schema is draft-07, he has prior work that is 2019-09.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Looking at versions of JavaScript
          implementations:<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:l1 level1 lfo2">Ajv appears
            to support latest 2020-12 and 2019-09<o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2">John will
            upgrade his use of this library to latest<o:p></o:p></li>
        </ul>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Suggestion: let’s work on a X3D4 JSON
          Schema that also validates X3D versions 3.0-3.3.  (This might
          be the case already.)<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><b>Plan: we will work on updating JSON
            Schema, then validating examples first with JavaScript and
            Java.<o:p></o:p></b></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">---</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <ol style="margin-top:0in" type="1" start="3">
          <li class="MsoListParagraph"
            style="margin-left:-.25in;mso-list:l0 level1 lfo1"><i>X3D
              JSON pages<o:p></o:p></i></li>
        </ol>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Initial design-planning page:<o:p></o:p></p>
        <ol style="margin-top:0in" type="1" start="3">
          <ol style="margin-top:0in" type="a" start="1">
            <ul style="margin-top:0in" type="disc">
              <li class="MsoListParagraph"
                style="margin-left:-9.0pt;mso-list:l0 level3 lfo1">X3D
                JSON Encoding<o:p></o:p></li>
              <li class="MsoListParagraph"
                style="margin-left:-9.0pt;mso-list:l0 level3 lfo1"><a class="moz-txt-link-freetext" href="https://www.web3d.org/wiki/index.php/X3D_JSON_Encoding">https://www.web3d.org/wiki/index.php/X3D_JSON_Encoding</a><o:p></o:p></li>
            </ul>
          </ol>
        </ol>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Detailed design and implementation:<o:p></o:p></p>
        <ol style="margin-top:0in" type="1" start="3">
          <ol style="margin-top:0in" type="a" start="1">
            <ul style="margin-top:0in" type="disc">
              <li class="MsoListParagraph"
                style="margin-left:-9.0pt;mso-list:l0 level3 lfo1">X3D
                to JSON Stylesheet Converter<o:p></o:p></li>
              <li class="MsoListParagraph"
                style="margin-left:-9.0pt;mso-list:l0 level3 lfo1"><a class="moz-txt-link-freetext" href="https://www.web3d.org/x3d/stylesheets/X3dToJson.html">https://www.web3d.org/x3d/stylesheets/X3dToJson.html</a><o:p></o:p></li>
            </ul>
          </ol>
        </ol>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">These pages need to be reviewed and
          confirmed or updated.  Upcoming meeting.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">---- <o:p></o:p></p>
        <p class="MsoListParagraph" style="margin-left:.25in"><o:p> </o:p></p>
        <ol style="margin-top:0in" type="1" start="4">
          <li class="MsoListParagraph"
            style="margin-left:-.25in;mso-list:l0 level1 lfo1"><i>Library
              support<o:p></o:p></i></li>
        </ol>
        <p class="MsoListParagraph" style="margin-left:.25in"><i><o:p> </o:p></i></p>
        <ol style="margin-top:0in" type="1" start="4">
          <ol style="margin-top:0in" type="a" start="1">
            <li class="MsoListParagraph"
              style="margin-left:-.25in;mso-list:l0 level2 lfo1">X3DJSONLD<o:p></o:p></li>
          </ol>
        </ol>
        <p class="MsoNormal">- <a class="moz-txt-link-freetext" href="https://github.com/coderextreme/X3DJSONLD">https://github.com/coderextreme/X3DJSONLD</a></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">This is where John’s collected and latest
          work is found.  This library runs under node.js and browsers,
          and has many features, and has many tests for X3D JSON in
          X3DOM and X_ITE.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">We might try to document it better.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <ol style="margin-top:0in" type="1" start="4">
          <ol style="margin-top:0in" type="a" start="2">
            <li class="MsoListParagraph"
              style="margin-left:-.25in;mso-list:l0 level2 lfo1">X3DJSAIL
              Java<o:p></o:p></li>
          </ol>
        </ol>
        <p class="MsoNormal">X3D Java Scene Access Interface Library
          (X3DJSAIL)<o:p></o:p></p>
        <p class="MsoNormal"><a class="moz-txt-link-freetext" href="https://www.web3d.org/specifications/java/X3DJSAIL.html">https://www.web3d.org/specifications/java/X3DJSAIL.html</a><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">John has written some Java code that might
          import JSON to create X3DJSAIL objects, that might work. 
          However that works via the DOM, and we hope to avoid dual
          translations for one pass to avoid brittleness.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">X3DJSAIL includes JSON output (export),
          which was pretty easy, but not parsing (import).<o:p></o:p></p>
        <ul style="margin-top:0in" type="disc">
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2"><a class="moz-txt-link-freetext" href="https://www.web3d.org/specifications/java/X3DJSAIL.html#Conversions">https://www.web3d.org/specifications/java/X3DJSAIL.html#Conversions</a><o:p></o:p></li>
        </ul>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">We looked at whether Saxon library might
          work for JSON import, since X3DJSAIL already includes Saxon
          saxon-he-10.6 (HE = Home Edition = open source). 
          Interestingly there is a function built in that might work,
          <o:p></o:p></p>
        <ul style="margin-top:0in" type="disc">
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2"><a class="moz-txt-link-freetext" href="https://www.saxonica.com/html/documentation10/functions/fn/json-to-xml.html">https://www.saxonica.com/html/documentation10/functions/fn/json-to-xml.html</a><o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2"><a class="moz-txt-link-freetext" href="https://www.saxonica.com/html/documentation10/functions/fn/parse-json.html">https://www.saxonica.com/html/documentation10/functions/fn/parse-json.html</a><o:p></o:p></li>
        </ul>
        <p class="MsoListParagraph" style="margin-left:.75in"><o:p> </o:p></p>
        <ol style="margin-top:0in" type="1" start="4">
          <ol style="margin-top:0in" type="a" start="3">
            <li class="MsoListParagraph"
              style="margin-left:-.25in;mso-list:l0 level2 lfo1">X3DPSAIL
              Python<o:p></o:p></li>
          </ol>
        </ol>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">There is a Python package “jsonschema” that
          appears to have 2020-12 support.<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:l1 level1 lfo2">Python
            package jsonschema, available on py<o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2"><a class="moz-txt-link-freetext" href="https://github.com/Julian/jsonschema">https://github.com/Julian/jsonschema</a><o:p></o:p></li>
        </ul>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">---- <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <ol style="margin-top:0in" type="1" start="5">
          <li class="MsoListParagraph"
            style="margin-left:-.25in;mso-list:l0 level1 lfo1"><i>Online
              examples<o:p></o:p></i></li>
        </ol>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Once we get an updated java library, we
          will resume unit testing of all X3D JSON examples with Ant. 
          Our build scripts currently support jslint only.<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:l1 level1 lfo2">X3D
            Resources: Examples<o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2"><a class="moz-txt-link-freetext" href="https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples">https://www.web3d.org/x3d/content/examples/X3dResources.html#Examples</a><o:p></o:p></li>
        </ul>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">---- <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <ol style="margin-top:0in" type="1" start="6">
          <li class="MsoListParagraph"
            style="margin-left:-.25in;mso-list:l0 level1 lfo1"><i>X3D
              JSON Specification plans<o:p></o:p></i></li>
        </ol>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Still TODO is make the C/C++/C# draft
          specifications available in GitHub and web3d.org<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">We have to finish X3D Architecture
          specification before we can add a JSON specification.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">See the following for the road map of all
          X3D Specifications.<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:l1 level1 lfo2">X3D
            Specifications: Schema and DOCTYPE Validation<o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2"><a class="moz-txt-link-freetext" href="https://www.web3d.org/specifications">https://www.web3d.org/specifications</a><o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2">X3D Graphics
            Standards Relationships<o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2"><a
href="https://www.web3d.org/specifications/X3dSpecificationRelationships.png"
              moz-do-not-send="true">https://www.web3d.org/specifications/X3dSpecificationRelationships.png</a><o:p></o:p></li>
        </ul>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">----<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <ol style="margin-top:0in" type="1" start="7">
          <li class="MsoListParagraph"
            style="margin-left:-.25in;mso-list:l0 level1 lfo1">John’s
            movie recommendation<o:p></o:p></li>
        </ol>
        <p class="MsoNormal"><o:p> </o:p></p>
        <ul style="margin-top:0in" type="disc">
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2">"The Billion
            Dollar Code" NetFlix<o:p></o:p></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l1 level1 lfo2"><a class="moz-txt-link-freetext" href="https://www.netflix.com/title/81074012">https://www.netflix.com/title/81074012</a><o:p></o:p></li>
        </ul>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">----<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Having fun diversifying X3D4 again!  8)<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">all the best, Don<br>
          <span style="font-size:10.0pt;font-family:"Courier
            New"">-- <br>
            Don Brutzman  Naval Postgraduate School, Code USW/Br      
            <a class="moz-txt-link-abbreviated" href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>
            Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA  
            +1.831.656.2149<br>
            X3D graphics, virtual worlds, navy robotics </span><a
            href="http://faculty.nps.edu/brutzman"
            moz-do-not-send="true"><span
              style="font-size:10.0pt;font-family:"Courier
              New"">http://faculty.nps.edu/brutzman</span></a><o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
  </body>
</html>