<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">John,<br>
      <br>
      It appears to me that your biggest/most-important request is to
      define a nice/simpler JSON encoding for X3D than the one currently
      being used. I am going to continue this discussion based on that
      assumption. If it is not the case, please clarify.<br>
      <br>
      You have been working with this for quite some time. My experience
      is in general JSON, not necessarily the X3D flavor. Can you
      describe what is currently difficult or complex in the current
      X3D-Json flavor. There is no sense on redoing/revising what is
      currently working well. What I would like to understand is the top
      3-5 difficult or messy conversion issues and what makes them
      messy. <br>
      <br>
      Thanks,<br>
      <br>
      Leonard Daly<br>
      <br>
      <br>
      <br>
    </div>
    <blockquote type="cite"
      cite="mid:5ab13926.8826370a.6da89.e916@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 Definitions */
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
      <div class="WordSection1">
        <p class="MsoNormal">Because X3D JSON is very different from X3D
          XML.  They don’t map well with standard methods.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Yes, it will take a little more work to
          handle circular dependencies, and all the extra variables in
          DOM.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Are you proposing JSON.stringify(xmlDom)? 
          I think that would generate way to much data, and
          XMLSerializer would work better, but XMLSerializer produces
          XML.  But that’s essentially what DOM2JSONSerializer is,
          serializes DOM to X3D JSON.  Duh!</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">The revolution here is that I can do it
          client side.  I already had X3dToJson.xslt to do it server
          side. X3dToJson.xslt doesn’t work client side, last I checked.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">I don’t think you’ve found the golden egg
          yet, Leonard, but see below.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">John</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">I encourage you to propose an X3D JSON
          standard based on this to see if it will fly.  Send some PROTO
          examples to the mailing list—believe me, I tried.  The first
          step is to standardize X3D JSON, not find an XML to JSON
          converter.  But to finalize the X3D JSON standard, we need two
          implementations.  Now we have 2 implementations.</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Please proposed an X3D JSON standard that
          is simpler, PLEASE????</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thanks!</p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Sent from <a
            href="https://go.microsoft.com/fwlink/?LinkId=550986"
            moz-do-not-send="true">Mail</a> for Windows 10</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:Leonard.Daly@realism.com"
              moz-do-not-send="true">Leonard Daly</a><br>
            <b>Sent: </b>Tuesday, March 20, 2018 11:30 AM<br>
            <b>To: </b><a href="mailto:x3d-public@web3d.org"
              moz-do-not-send="true">x3d-public@web3d.org</a><br>
            <b>Subject: </b>Re: [x3d-public] X3DJSONLD ... converts XML
            to JSON client side!</p>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><span
            style="color:black">John,<br>
            <br>
            I am wondering how this might differ from the following
            built-in capabilities described below. What does your code
            do differently than these built-in methods?<br>
            <br>
            <br>
            XD is an (string) XML fragment, then this fragment can be
            inserted into the DOM (either as part of the document of a
            separate sub-tree) using<br>
            <br>
            var parser = new DOMParser();<br>
            var xmlDom = parser.parserFromString (XD,
            'application/xml');<br>
            <br>
            [Ref: <a
              href="https://developer.mozilla.org/en-US/docs/Web/API/DOMParser"
              moz-do-not-send="true">https://developer.mozilla.org/en-US/docs/Web/API/DOMParser</a>]<br>
            <br>
            At this point xmlDom is a DOM tree, but not inserted into
            the HTML document DOM.<br>
            <br>
            It is possible to go back to XML string using<br>
            <br>
            var S = new XMLSerializer();<br>
            var xmlString = s.serializeToString (xmlDom);<br>
            <br>
            [Ref: <a
              href="https://developer.mozilla.org/en-US/docs/Web/API/XMLSerializer"
              moz-do-not-send="true">https://developer.mozilla.org/en-US/docs/Web/API/XMLSerializer</a>]<br>
            <br>
            There is the JSON.stringify method <br>
            <br>
            [Ref: <a
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify"
              moz-do-not-send="true">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify</a>
            and <a
href="https://stackoverflow.com/questions/46880822/how-to-json-stringify-a-dom-element"
              moz-do-not-send="true">https://stackoverflow.com/questions/46880822/how-to-json-stringify-a-dom-element</a>
            - answer 1]<br>
            <br>
            There is at least one other GItHub project (<a
              href="https://gist.github.com/sstur/7379870"
              moz-do-not-send="true">https://gist.github.com/sstur/7379870</a>)
            that converts to/from JSON and strings/DOM.<br>
            <br>
            Going from an internal object to JSON takes a little careful
            work to make sure the tree is correctly handled and the code
            does not follow the circular loops that are present in DOM.<br>
            <br>
            <br>
            Leonard Daly<br>
            <br>
            <br>
            <br>
            <o:p></o:p></span></p>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span style="color:black">The X3D JSON
              Loader now converts XML to JSON client-side, for your
              nefarious purposes!<o:p></o:p></span></p>
          <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
          <p class="MsoNormal"><span style="color:black"><a
                href="https://coderextreme.net/X3DJSONLD/src/main/html/index.html"
                moz-do-not-send="true">https://coderextreme.net/X3DJSONLD/src/main/html/index.html</a><o:p></o:p></span></p>
          <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
          <p class="MsoNormal"><span style="color:black">Enjoy loading!<o:p></o:p></span></p>
          <p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
          <p class="MsoNormal"><span style="color:black">John<o:p></o:p></span></p>
          <p class="MsoNormal"><span style="color:black"><br>
              <br>
              <br>
              <o:p></o:p></span></p>
          <pre>_______________________________________________</pre>
          <pre>x3d-public mailing list</pre>
          <pre><a href="mailto:x3d-public@web3d.org" moz-do-not-send="true">x3d-public@web3d.org</a></pre>
          <pre><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" moz-do-not-send="true">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></pre>
        </blockquote>
        <p><o:p> </o:p></p>
        <p class="MsoNormal"><span style="color:black">-- <br>
          </span><b><span style="font-size:13.5pt;color:#333366">Leonard
              Daly</span></b><span style="color:#333366"><br>
            3D Systems & Cloud Consultant<br>
            LA ACM SIGGRAPH Past Chair<br>
            President, Daly Realism - <i>Creating the Future</i> </span><span
            style="color:black"><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
      </div>
    </blockquote>
    <p><br>
    </p>
    <div class="moz-signature">-- <br>
      <font class="tahoma,arial,helvetica san serif" color="#333366">
        <font size="+1"><b>Leonard Daly</b></font><br>
        3D Systems & Cloud Consultant<br>
        LA ACM SIGGRAPH Past Chair<br>
        President, Daly Realism - <i>Creating the Future</i>
      </font></div>
  </body>
</html>