<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><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;}
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;}
.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></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>I believe it’s much more useful in the protoexpander than the JSON Loader for distinguishing children versus value; the JSON Loader could probably find a way to program around the lack of prefixes.  In particular, there’s one place where you are either parsing children or an attribute in the JSON Loader which may be critical.  The code calls two different methods. However, I am not convinced this could not be recoded.  Choosing a more XML-like encoding would lead to easier loading into DOM, which is all the JSON Loader does at this point.  Please refer to Don as to reasons for not coding more like XML.  We had some discussion about using off-the-shelf packages (or even a small bit of Java code I wrote) to convert XML to JSON.  There was also some discussion about using JSON5 or similar encodings.  However, we made a choice to do it the X3D way, which I believe is more like VRML. YMMV, and you can always choose to use your own encoding.  We do probably need to write down our rationale however.  I believe Don’s reasoning was to make it context-free, but I have no proof that another encoding without the prefixes wouldn’t be context-free.  I do not know the implication of loading into different data structures, and Don may have had more flexibility in mind.</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>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Tuesday, December 6, 2016 1:42 PM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a><br><b>Subject: </b>Re: [x3d-public] x3d-3.3-JSONSchema documentation available</p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Investigating the X3D JSON Loader and proto expander could tell you where the prefixes are required.  I believe the files in question are X3DJSONLD.js and ProtoExpander.js</p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>John </p><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On Dec 6, 2016 12:20 PM, "Don Brutzman" <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:</p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal style='margin-bottom:12.0pt'><br><br>n.b. John Carlson's contributions and implementation efforts were also essential for developing this reconciliation of issues in the draft X3D JSON Encoding.</p></blockquote><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in'><p class=MsoNormal><o:p> </o:p></p></blockquote></div></div></div></div><p class=MsoNormal style='margin-left:4.8pt'><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>