<html xmlns:v="urn:schemas-microsoft-com:vml" 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 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Menlo;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></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]--></head><body lang=EN-GB link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>In JSON you do not escape a single quote (apostrophe). However, you do escape a reverse solidus and you do escape a double quote.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>So, if you have the XML string <o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                </span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black;background:white;mso-highlight:white'>                         'string [ \"proxy is\" \"any-order child\" \"of Collision\" ]' +<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>it needs to be understood as an XML string. Consider the corresponding UNICODE code points. One interesting illustrative sequence is as follows:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>…<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>g              U+0067<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>space    U+0020<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>[              U+005b<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>space    U+0020<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>\              U+005c<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>“              U+0022<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>p             U+0070<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>…<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Notice that the reverse solidus and the double quote are treated as separate characters. There is no escape sequence \” in  XML.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>So, how are these code points represented in a text string in JSON? There we do have escape sequences. U+005c is \\ and U+0022 is \”. So, the full text string becomes:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>                </span><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black;background:white;mso-highlight:white'>                         'string [ \\\"proxy is\\\" \\\"any-order child\\\" \\\"of Collision\\\" ]' +<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:black;background:white;mso-highlight:white'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Roy<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> John Carlson [mailto:yottzumm@gmail.com] <br><b>Sent:</b> 01 March 2016 17:45<br><b>To:</b> Don Brutzman<br><b>Cc:</b> Roy Walmsley; X3D Graphics public mailing list<br><b>Subject:</b> Re: summary of remaining JSON parse errors<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Results. <o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>examples//Basic/development/ProxyShapeExample.json</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal> It looks like you’re \ escaping a \ in front of a “ (double quote) which is probably bad.  This preamble in a string is bad because you’re not quoting the “:  <span style='font-size:8.5pt;font-family:"Menlo","serif"'>"\t\t 'string [ <a href="file:///\\%22proxy">\\"proxy</a> is\\”</span><o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>The double quote after the tab is bad.  You should escape a \ in front of a single quote I think, to make it <a href="smb://'">\\'</a>, since \’ is bad. And you should escape standalone double quotes.   \” should be left alone?  I am not sure.  Sorry for any confusion.</span><o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>examples//Basic/development/SchemaTest.json</span><br><span style='font-size:8.5pt;font-family:"Menlo","serif"'>[Error: Parse error on line 71:</span><br><span style='font-size:8.5pt;font-family:"Menlo","serif"'><a href="mailto:...@translation%22:[10000.e-1,50,0.5">...@translation":[10000.e-1,50,0.5</a>],      </span><br><span style='font-size:8.5pt;font-family:"Menlo","serif"'>-----------------------^</span><o:p></o:p></p><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>Expecting 'EOF', '}', ',', ']', got 'undefined’]</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>Remove decimal point.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>These files still have issues with metadata:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>examples//Savage/Robots/UnmannedAirVehicles/ScanEagle.json<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>[Error: Parse error on line 173:<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>...                    { "MetadataString":<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>-----------------------^<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>Expecting 'STRING', got '{']<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>examples//Savage/Robots/UnmannedAirVehicles/SeaScan.json<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>[Error: Parse error on line 144:<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>...                    { "MetadataString":<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>-----------------------^<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>Expecting 'STRING', got '{']<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>examples//Savage/Robots/UnmannedSurfaceVehicles/SeaFox.json<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>[Error: Parse error on line 173:<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>...                    { "MetadataString":<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>-----------------------^<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>Expecting 'STRING', got '{']<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>examples//Savage/Robots/UnmannedSurfaceVehicles/SeaFoxOriginal.json<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>[Error: Parse error on line 151:<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>...                    { "MetadataString":<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>-----------------------^<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>Expecting 'STRING', got '{']<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>examples//Savage/ShipsMilitary/FFG-7OliverHazardPerry-UnitedStates/OliverHazardPerryFFG.json<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>[Error: Parse error on line 215:<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>...                    { "MetadataString":<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>-----------------------^<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Menlo","serif"'>Expecting 'STRING', got '{']<o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>On Mar 1, 2016, at 10:06 AM, Don Brutzman <<a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a>> wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Last night's build went OK.<br><br>Found and amended code block (template output-reals) to insert missing 0 after decimal point, before scientific notation (e.g. 1.e2 converted to 1.0e2).<br><br>Marked ScriptSyntaxExample.x3d meta information as a test scene.<br><br>Many of your error cases in log file were test scenes or archived backups, not working scenes.  I'll keep scrutinizing and pursuing problems in the list.<br><br><br><o:p></o:p></p><p class=MsoNormal>On 2/26/2016 2:18 PM, John Carlson wrote:<br><br><o:p></o:p></p><p class=MsoNormal>Some number formatting issues (need digit after .)<br>Escaping issues<br>ContainerField naming or object attribute value braces missing.<br>‘,’ value is missing.<br>Bad source documents (not X3D).<br>-metadata should be an array or a containerField.<o:p></o:p></p><p class=MsoNormal><br>all the best, Don<br>-- <br>Don Brutzman  Naval Postgraduate School, Code USW/Br       <a 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 <a href="http://faculty.nps.edu/brutzman">http://faculty.nps.edu/brutzman</a><o:p></o:p></p></div></div></blockquote></div><p class=MsoNormal><o:p> </o:p></p></div></div></div></div></body></html>