<div dir="ltr"><div dir="ltr">Sorry for two messages. I don't know what's happening either. Is SourceForge up-to-date with X3dToJson.xslt?  This is a very long standing issue for me.<div><br><div>I think we're all onboard with NavigationInfo.type being  a JSON array and not a JSON string? I am trying to pursue why I am getting a JSON string from X3dToJson.xslt.  But recently builds of x3d/stylesheets/java/examples on my system have shown that that tree may have issues too, not just X3DJSONLD.<br><div><br>Here is a nearly current NavigationInfo from a very recently generated file (ball.json in X3DJSONLD).  I still may need update X3dToJson.xslt at this point.  I will attempt to do that. Done.</div><div><br></div><div>          { "NavigationInfo":<br>            {<br>              "@type":"\"ANY\" \"EXAMINE\" \"FLY\" \"LOOKAT\""<br>            }<br>          },<br></div><div><br></div><div>I think the problem may have been that I had an X3dToJson.sef.json file.  That is not it, AFAIK.  I removed that file</div><div><br></div><div>We have nearly identical X3dToJson.xslt files as far as I can tell. Here are the differences:</div><div>$ diff !:2 !:3<br>diff ../lib/stylesheets/X3dToJson.xslt /c/x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/X3dToJson.xslt">www.web3d.org/x3d/stylesheets/X3dToJson.xslt</a><br>3c3<br>< Copyright (c) 2001-2021 held by the author(s).  All rights reserved.<br>---<br>> Copyright (c) 2001-2022 held by the author(s).  All rights reserved.<br></div><div><br></div><div>This appears to be something we can work from:</div><div><br></div><div><a href="https://www.web3d.org/x3d/content/examples/ConformanceNist/BindableNodes/NavigationInfo/jumpcut_loadurl.json">https://www.web3d.org/x3d/content/examples/ConformanceNist/BindableNodes/NavigationInfo/jumpcut_loadurl.json</a><br></div><div><br></div><div>This file shows NavigationInfo.type and url fields as correct in my mind.</div><div><br></div><div>So there's an issue on my system somewhere perhaps--AFAIK, my system is a fresh install.   Please show a recent JSON conversion output (web version is okay, but NavigationInfo.type from the recently created JSON file would be great).</div><div><br></div><div>Please check on your system:</div><div><br></div><div>x3d/stylesheets/java/examples/HelloWorldProgramOutput.json<br></div><div><br></div><div>          { "NavigationInfo":<br>            {<br>              "@type":"\"EXAMINE\" \"FLY\" \"ANY\""<br>            }<br>          },<br></div><div><br></div><div>Is what I see.  A JSON string.  Hmmm</div><div><br></div><div>Could it be we have a different stylesheet inside the X3DJSAIL jar?  I use my own Java stylesheet processor (Saxon-based).</div><div><br></div><div>Thanks for your time pursuing this.  For me, the online version is correct. and the HelloWorld version is incorrect.  I will try to regenerate the HelloWorld  version now</div><div><br></div><div>/x3d/stylesheets/java<br>$ ant all<br>Buildfile: C:\x3d-code\<a href="http://www.web3d.org">www.web3d.org</a>\x3d\stylesheets\java\build.xml<br><br>compile.examples:<br>     [echo] $java.examples.dir=C:\x3d-code\<a href="http://www.web3d.org">www.web3d.org</a>\x3d\stylesheets\java\examples<br>     [echo] compile.examples complete<br><br>run.examples:<br>     [java] Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/saxon/s9api/SaxonApiException<br>     [java]     at HelloWorldProgram.<clinit>(HelloWorldProgram.java:64)<br>     [java] Caused by: java.lang.ClassNotFoundException: <b>net.sf.saxon.s9api.SaxonApiException</b><br>     [java]     at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)<br>     [java]     at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)<br>     [java]     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)<br>     [java]     ... 1 more<br>     [java] Java Result: 1<br>     [echo] run.examples complete<br><br>all:<br><br>BUILD SUCCESSFUL<br>Total time: 0 seconds<br></div><div><br></div><div><br></div><div>Tortoise SVN:</div><div><br></div><div>Command: Update  <br>Updating: C:\x3d-code\<a href="http://www.web3d.org">www.web3d.org</a> from svn://<a href="http://svn.code.sf.net/p/x3d/code/www.web3d.org">svn.code.sf.net/p/x3d/code/www.web3d.org</a>  <br>Completed: At revision: 32884  <br></div><div><br></div><div>I am a bit lost without command line svn diff,  I have reverted everything with TortoiseSVN in <a href="http://www.web3d.org">www.web3d.org</a> sourceforge copy</div><div><br></div><div>-rw-r--r-- 1 john 197609  94346 Jan 18 07:13 HelloWorldProgramOutput.json<br></div><div><br></div><div>I'm pretty much puzzled as you at this point.  After reverting, I will diff the stylesheets again.  Essentially the same diff.</div><div><br></div><div>So I'm guessing it may have something to do with the X3DJSAIL jar?  Please generate the HelloWorldProgramOutput.json and see what you get for NavigationInfo.</div><div><br></div><div>Thank you for all your time spent on this.  We need some kind of Hail Mary at this point.  Maybe I'll wake up with a fresh idea.</div><div><br></div><div>I think the first step may be to get Don's  X3DJSAIL java/examples/HelloWorldProgramOutput.json passing XMLSpy validation.</div><div><br></div><div>John</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 18, 2022 at 6:28 AM John Carlson <<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div dir="auto">Check any current X3D JSON file with NavigationInfo.type against a current X3D JSON Schema.   Send the NavigationInfo section of the X3D JSON file to me, so we can coordinate.  Please send a snapshot of XMLSpy validation success on the X3D  JSON file.</div></div><div><div dir="auto"><br></div><div dir="auto">I apologize for missing the meeting.</div><div dir="auto"><br></div><div dir="auto">I have read the pages you posted and the working draft.  I even read the below inclusion.</div><div dir="auto"><br></div><div dir="auto">Why are two different  MFStrings (URLs and NavigationInfo.type) handled differently?  Please show me an example of a different  MFString field encoded in JSON.</div><div dir="auto"><br></div><div dir="auto">Let’s get very concrete in this discussion, thanks.   There may be a big aha after we look at things concretely.</div><div dir="auto"><br></div><div dir="auto">Thanks!</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">John</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Mon, Jan 17, 2022 at 11:37 PM Brutzman, Donald (Don) (CIV) <<a href="mailto:brutzman@nps.edu" target="_blank">brutzman@nps.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US" style="overflow-wrap: break-word;">
<div>
<p class="MsoNormal">Hi John.  What is happening?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Regarding proposed handing of X3D MFString in JSON:  I’ve let you know in email, telephone call and issue tracker that JSON MFString is documented on the following page, which we produced together.  There are also thousands of X3D Examples
 online that each include JSON encoding.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">X3D to JSON Stylesheet Converter<u></u><u></u></li><li style="margin-left:0in"><a href="https://www.web3d.org/x3d/stylesheets/X3dToJson.html" target="_blank">https://www.web3d.org/x3d/stylesheets/X3dToJson.html</a>
<u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">If you scroll down that page to JSON strings, you will find an unambiguous JSON-produced railroad-track diagram and following table entry.  Seems simple.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in"><a href="https://www.web3d.org/x3d/stylesheets/X3dToJson.html#strings" target="_blank">https://www.web3d.org/x3d/stylesheets/X3dToJson.html#strings</a><u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<table border="1" cellpadding="0" width="800" style="width:600pt">
<thead>
<tr>
<td width="50%" style="width:50%;padding:0.6pt">
<p class="MsoNormal" align="center" style="text-align:center"><b><span style="font-family:"Times New Roman",serif">X3D scene graph<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></b></p>
</td>
<td width="50%" style="width:50%;padding:0.6pt">
<p class="MsoNormal" align="center" style="text-align:center"><b><span style="font-family:"Times New Roman",serif">JSON representation<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></b></p>
</td>
</tr>
</thead>
<tbody>
<tr>
<td style="padding:0.6pt">
<p class="MsoNormal"><span style="font-family:"Times New Roman",serif">SFString is unquoted XML attribute value<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</td>
<td style="padding:0.6pt">
<p class="MsoNormal"><span style="font-family:"Times New Roman",serif">JSON value of <i style="font-family:"Times New Roman",serif">string</i> type. Backslash <b style="font-family:"Times New Roman",serif">\</b> (reverse solidus) characters get escaped with an adjacent backslash <b style="font-family:"Times New Roman",serif">\</b> character, resulting in <b style="font-family:"Times New Roman",serif">\\</b> value.<br>
Similarly " (quotation mark) characters get escaped with an adjacent backslash as <b style="font-family:"Times New Roman",serif">\"</b> value.<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</td>
</tr>
<tr>
<td style="padding:0.6pt">
<p class="MsoNormal"><span style="font-family:"Times New Roman",serif">MFString is array of quoted SFString (XML attribute) values<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</td>
<td style="padding:0.6pt">
<p class="MsoNormal"><span style="font-family:"Times New Roman",serif">JSON array of <i style="font-family:"Times New Roman",serif">string</i> type<u style="font-family:"Times New Roman",serif"></u><u style="font-family:"Times New Roman",serif"></u></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Are you now OK with what is stated and demonstrated regarding X3D MFString as JSON arrays of string type?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Meanwhile it is not clear from the issue whether the entry is about JSON schema, X3dToJSON.xslt, MFString, JSON string, JSON string arrays, or what.  Apologies but I’m not tracking your concern.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">You cite working draft (ISO-IEC19776-5, WD) but that document is in private Web3D github, unreviewed by working group, and not public.  Our group is not ready to review that yet.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in"><a href="https://www.web3d.org/standards" target="_blank">https://www.web3d.org/standards</a><u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Have tried reading tracker issue #10 a few times but am still not sure what the issue is asking.  Now you are cross-threading the sourceforge issue tracker and the x3d-public mailing list...  ouch.  Color me “lost” on this one.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">You might be thinking about the use of an XML attribute without extra quotation marks, such as <Text string=’hey now’/> which is common.  The Java and Python APIs are forgiving of such type mismatches, most of our XML-handling tools are,
 ClassicVRML is forgiving, it will no doubt be explicit in each of next spec versions.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Please let’s dial it back and get focused.<u></u><u></u></p>
<ul style="margin-top:0in" type="disc">
<li style="margin-left:0in">An issue tracker is good for simple fixable issues: point out specific problem, give a repeatable example.  If possible note reference and suggested solution.<u></u><u></u></li><li style="margin-left:0in">Mailing lists are good for announcements and general discussion.<u></u><u></u></li></ul>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">A favorite quote: “Brevity is the soul of wit” – <i>Hamlet</i>, William Shakespeare.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Your efforts are appreciated but, in the midst of hugely tremendous X3D detail, we must be precise and focused.  Hope this helps.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Have Fun with X3D!  Or Else!   8)<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">all the best, Don<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">-- <u style="font-family:"Courier New""></u>
<u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Don Brutzman  Naval Postgraduate School, Code USW/Br        <a href="mailto:brutzman@nps.edu" style="font-family:"Courier New"" target="_blank">brutzman@nps.edu</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA    +1.831.656.2149<u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
<p class="MsoNormal"><span style="font-size:10pt;font-family:"Courier New"">X3D graphics, virtual worlds, Navy robotics https://</span>
<span style="font-size:10pt;font-family:"Courier New""><a href="http://faculty.nps.edu/brutzman" style="font-family:"Courier New"" target="_blank">faculty.nps.edu/brutzman</a><u style="font-family:"Courier New""></u><u style="font-family:"Courier New""></u></span></p>
</div></div></div><div lang="EN-US" style="overflow-wrap: break-word;"><div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div style="border-style:solid none none;border-top-width:1pt;padding:3pt 0in 0in;border-top-color:rgb(225,225,225)">
<p class="MsoNormal"><b>From:</b> x3d-public <<a href="mailto:x3d-public-bounces@web3d.org" target="_blank">x3d-public-bounces@web3d.org</a>> <b>On Behalf Of
</b><a href="mailto:vmarchetti@kshell.com" target="_blank">vmarchetti@kshell.com</a><br>
<b>Sent:</b> Sunday, January 16, 2022 4:19 PM<br>
<b>To:</b> John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>><br>
<b>Cc:</b> X3D-Public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
<b>Subject:</b> Re: [x3d-public] [x3d:tickets] #10 JSON schema errors that start to make sense. Need X3dToJson.xslt updates to create MFString arrays.<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal"><br>
<br>
<u></u><u></u></p>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<div>
<p class="MsoNormal">On Jan 16, 2022, at 4:30 PM, John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><strong><span style="font-family:Calibri,sans-serif"><a href="https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsourceforge.net%2Fp%2Fx3d%2Ftickets%2F10%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C056d678e0d2747cead9108d9d94f126b%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637779756351904802%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=s5CLp5otd5aZaJFMlezFeZ3aZ0sxxCQHGhN%2BmLqNvOE%3D&reserved=0" style="font-family:Calibri,sans-serif" target="_blank">[tickets:#10]</a>
 JSON schema errors that start to make sense. Need X3dToJson.xslt updates to create MFString arrays.</span></strong><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><b>Discussion leading towards enlightenment whether MFStrings should be arrays or strings in JSON (or both?).</b><u></u><u></u></p>
<p class="MsoNormal">Vince, I added you here because I thought you would want to advocate for a single string MFString being a string and not an arrray.<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">John<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thank you for including me, but I would actually advocate for the opposite, that any value typed as MFString be encoded as an MFString of 0, 1, or N>1 elements, by whatever syntax is appropriate for that encoding.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Vince<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal"><br>
<br>
<u></u><u></u></p>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<div>
<div>
<div>
<div>
<p class="MsoNormal">John<u></u><u></u></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

</blockquote></div></div>
</div>
</blockquote></div></div>