<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>But there may be a difference in the stylesheet engine invocation.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Then we may need to look at intermediate XML generated from X3DJSAIL compared to original XML.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Do these three conversions:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Java -> JSON (Native Java stylesheet engine).</p><p class=MsoNormal>XML (output from Java) -> JSON (I do this with Saxon, let me know if I shouldn’t, or perhaps I have an old version)</p><p class=MsoNormal>XML (output from Java) -> Java -> JSON (Native Java stylesheet engine).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[ my last one goes from XML -> JSON -> DOM before going to Java ]</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>With HelloWorldProgramOutput.x3d and HelloWorldProgram.java</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>And compare JSON outputs.  They should be the same?  Yet they are all different.  DIFF3 follows/</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Please compare on your system, since the source code isn’t synced yet.  There may be a stylesheet engine issue.  I have been switching to NATIVE_JAVA engine, but neither of them produce proper JSON inside JavaScript.  One has extra newlines, and the other has extra \’s</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>In other words, we need a better, more reliable DOM->JSON conversion.  Or we need to pick a stylesheet engine and make it work for all cases.  X3DJSONLD uses RunSaxon.java to run stylesheets. Trying to stir up some interest.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>$ diff3 !*</p><p class=MsoNormal>diff3 HelloWorldProgramOutput.json /c/x3d-code/www.web3d.org/x3d/stylesheets/java/examples/HelloWorldProgramOutput.json HelloWorldProgramOutput.new.json</p><p class=MsoNormal>====2</p><p class=MsoNormal>1:323c</p><p class=MsoNormal>3:323c</p><p class=MsoNormal>                                  "-metadata":</p><p class=MsoNormal>2:323,329c</p><p class=MsoNormal>                                  "-value":[</p><p class=MsoNormal>                                    { "MetadataString":</p><p class=MsoNormal>                                      {</p><p class=MsoNormal>                                        "@name":"escapedQuotesTest1",</p><p class=MsoNormal>                                        "@value":["escaped quotation marks example 1: He said, \"Immel did it!\""]</p><p class=MsoNormal>                                      }</p><p class=MsoNormal>                                    },</p><p class=MsoNormal>====2</p><p class=MsoNormal>1:329a</p><p class=MsoNormal>3:329a</p><p class=MsoNormal>2:336c</p><p class=MsoNormal>                                  ]</p><p class=MsoNormal>====2</p><p class=MsoNormal>1:347c</p><p class=MsoNormal>3:347c</p><p class=MsoNormal>                        },</p><p class=MsoNormal>2:354,356c</p><p class=MsoNormal>                        }</p><p class=MsoNormal>                      ],</p><p class=MsoNormal>                      "-proxy":</p><p class=MsoNormal>====2</p><p class=MsoNormal>1:370c</p><p class=MsoNormal>3:370c</p><p class=MsoNormal>                      ]</p><p class=MsoNormal>2:378a</p><p class=MsoNormal>====3</p><p class=MsoNormal>1:593,595c</p><p class=MsoNormal>2:601,603c</p><p class=MsoNormal>                        }</p><p class=MsoNormal>                      ],</p><p class=MsoNormal>                      "-material":</p><p class=MsoNormal>3:593c</p><p class=MsoNormal>                        },</p><p class=MsoNormal>====3</p><p class=MsoNormal>1:611a</p><p class=MsoNormal>2:619a</p><p class=MsoNormal>3:610c</p><p class=MsoNormal>                      ]</p><p class=MsoNormal>====3</p><p class=MsoNormal>1:632,634c</p><p class=MsoNormal>2:640,642c</p><p class=MsoNormal>                        }</p><p class=MsoNormal>                      ],</p><p class=MsoNormal>                      "-material":</p><p class=MsoNormal>3:631c</p><p class=MsoNormal>                        },</p><p class=MsoNormal>====3</p><p class=MsoNormal>1:651a</p><p class=MsoNormal>2:659a</p><p class=MsoNormal>3:649c</p><p class=MsoNormal>                      ]</p><p class=MsoNormal>====3</p><p class=MsoNormal>1:673,675c</p><p class=MsoNormal>2:681,683c</p><p class=MsoNormal>                        }</p><p class=MsoNormal>                      ],</p><p class=MsoNormal>                      "-material":</p><p class=MsoNormal>3:671c</p><p class=MsoNormal>                        },</p><p class=MsoNormal>====3</p><p class=MsoNormal>1:680a</p><p class=MsoNormal>2:688a</p><p class=MsoNormal>3:677c</p><p class=MsoNormal>                      ]</p><p class=MsoNormal>====3</p><p class=MsoNormal>1:892,894c</p><p class=MsoNormal>2:900,902c</p><p class=MsoNormal>                              }</p><p class=MsoNormal>                            ],</p><p class=MsoNormal>                            "-material":</p><p class=MsoNormal>3:889c</p><p class=MsoNormal>                              },</p><p class=MsoNormal>====3</p><p class=MsoNormal>1:900a</p><p class=MsoNormal>2:908a</p><p class=MsoNormal>3:896c</p><p class=MsoNormal>                            ]<o:p></o:p></p><p class=MsoNormal>On 12/17/2017 10:29 AM, John Carlson wrote:</p><p class=MsoNormal>> I believe this happens because -children is generated instead of -material in the Java -> JSON generation.   I don’t believe -children is valid at this point, since addChild is also unavailable.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>There is no special Java -> JSON generation on my end, only X3dToJSON.xslt invocation.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>