<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>&amp; gets translated to &amp;amp; in MFStrings (likely a problem in my Java)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>src/main/data/ObliqueStrategies.new.json</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-                          "@url":["http://translate.google.com/translate_tts?tl=en&q=Feed%20the%20recording%20back%20out%20of%20the%20medium","translate_tts_mp3FileFormatNotSupported.wav"]</p><p class=MsoNormal>+                          "@url":["http://translate.google.com/translate_tts?tl=en&amp;q=Feed%20the%20recording%20back%20out%20of%20the%20medium","translate_tts_mp3FileFormatNotSupported.wav"]</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ObliqueStrategies.new.json.intermediate.x3d</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>url='"http://translate.google.com/translate_tts?tl=en&amp;amp;q=Feed%20the%20recording%20back%20out%20of%20the%20medium" "translate_tts_mp3FileFormatNotSupported.wav"'</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ObliqueStrategies.x3d</p><p class=MsoNormal>url='<a href="http://translate.google.com/translate_tts?tl=en&amp;q=Feed%20the%20recording%20back%20out%20of%20the%20medium">http://translate.google.com/translate_tts?tl=en&amp;q=Feed%20the%20recording%20back%20out%20of%20the%20medium</a></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ObliqueStrategies.new.x3d</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>url='"http://translate.google.com/translate_tts?tl=en&amp;amp;q=Feed%20the%20recording%20back%20out%20of%20the%20medium" "translate_tts_mp3FileFormatNotSupported.wav"'</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ObliqueStrategies.java (likely where the bug is):</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>new java.lang.String[] {"http://translate.google.com/translate_tts?tl=en&amp;q=Feed%20the%20recording%20back%20out%20of%20the%20medium","translate_tts_mp3FileFormatNotSupported.wav"}</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>---------------------------------------------------------------------------------------------------------------------------------------------</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><p class=MsoNormal>\\\\ gets translated to \\ in X3DJSAIL in MFStrings, not X3dtoJson.xslt (Problem with MFString String array constructor in X3DJSAIL).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>src/main/data/TextSpecialCharacters.new.json</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                     "@DEF":"DefaultText",</p><p class=MsoNormal>-                    "@string":["Character entity substitutions:","empty string \"\" skips a line:","","apostrophe ' is &apos;","ampersand & is &amp;","quote mark \" is &quot;","backslash \\ is X3D escape character","double backslash \\\\ is X3D backslash \\ character","Pi Î  is &#928; XML character entity"],</p><p class=MsoNormal>+                    "@string":["Character entity substitutions:","empty string \"\" skips a line:","","apostrophe ' is &amp;apos;","ampersand &amp; is &amp;amp;","quote mark \" is &amp;quot;","backslash \\ is X3D escape character","double backslash \\ is X3D backslash \\ character","Pi Î  is &amp;#928; XML character entity"],</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>TextSpecialCharacters.java (mine)</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>return new MFStringObject(new java.lang.String[] {"Character entity substitutions:","empty string \"\" skips a line:","","apostrophe ' is &amp;apos;","ampersand &amp; is &amp;amp;","quote mark \" is &amp;quot;","backslash \\ is X3D escape character","double backslash \\\\ is X3D backslash \\ character","Pi Π is &amp;#928; XML character entity"});<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>TextSpecialCharacters.new.json.intermediate.x3d (note that \\\\ got changed to \\ and \\ got changed to \<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>string='"Character entity substitutions:" "empty string \"\" skips a line:" "" "apostrophe &apos; is &amp;amp;apos;" "ampersand &amp;amp; is &amp;amp;amp;" "quote mark \" is &amp;amp;quot;" "backslash \ is X3D escape character" "double backslash \\ is X3D backslash \ character" "Pi Î  is &amp;amp;#928; XML character entity"'<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><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>src/main/data/browser.json (same issue, but with SFString—we need agreement with our Java here)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>"@content":"a script test with embedded \n between single quotes, a double backslash \\\\ a backslash \\ and a closing quote \""<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>browser.new.json<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in'><p class=MsoNormal style='border:none;padding:0in'>"@content":"a script test with embedded \n between single quotes, a double backslash \\ a backslash \\ and a closing quote \"<o:p></o:p></p><p class=MsoNormal style='border:none;padding:0in'><o:p> </o:p></p><p class=MsoNormal style='border:none;padding:0in'><o:p> </o:p></p><p class=MsoNormal style='border:none;padding:0in'>browser.new.json.intermediate.x3d<o:p></o:p></p><p class=MsoNormal style='border:none;padding:0in'>content='a script test with embedded \n between single quotes, a double backslash \\ a backslash \ and a closing quote "'<o:p></o:p></p><p class=MsoNormal style='border:none;padding:0in'><o:p> </o:p></p><p class=MsoNormal style='border:none;padding:0in'>browser.x3d<o:p></o:p></p><p class=MsoNormal style='border:none;padding:0in'>content='a script test with embedded \n between single quotes, a double backslash \\\\ a backslash \\ and a closing quote "'<o:p></o:p></p><p class=MsoNormal style='border:none;padding:0in'><o:p> </o:p></p><p class=MsoNormal style='border:none;padding:0in'><o:p> </o:p></p><p class=MsoNormal style='border:none;padding:0in'>Browser.java (mine):<o:p></o:p></p><p class=MsoNormal style='border:none;padding:0in'><o:p> </o:p></p><p class=MsoNormal style='border:none;padding:0in'>.addMeta(new metaObject().setName("description").setContent("a script test with embedded \\n between single quotes, a double backslash \\\\ a backslash \\ and a closing quote \"")))<o:p></o:p></p><p class=MsoNormal style='border:none;padding:0in'><o:p> </o:p></p><p class=MsoNormal style='border:none;padding:0in'><o:p> </o:p></p></div><p class=MsoNormal>Errors in X3dToJson.xslt<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Dealing with \\\\ and more .  Attached text.x3d and text.json.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></p></div></body></html>