<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 don’t know if the Java is correct or not.  That’s why I provided the Java (let’s try to keep on subject – Sorry the subject should say something about CADFace, I’m trying to figure out what to put in Java!).  And it’s getting worse, because I’m groping with containerFields with the with the new JavaSerializer as well.  I may have to revert to the old JavaSerializer to get containerFields right.  It’s a mess at this point it looks like.  Too much late night coding.  I will revert to the old Serializer for now.  But the Java code I’ve been posting is from the old serializer.  I was just about to post the new serializer code results, but from some code inspection it’s not worth it yet.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am currently using CADFaceObject.setShape() in old serializer.  It looks like I use it with either Transform or Shape as parameters.  I do not know if this is the correct way of introducing a containerField in the intermediate XML or not.  How do I force a containerField into the intermediate XML? I already assumed the X3dToJson.xslt was correct, but it doesn’t hurt to run it again.  The JSON file might be very old—2 days old, LOL.</p><p class=MsoNormal><br>I also have a XML Serializer that runs after X3DJSONLD.js.  It has the containerField in it.  I do not think I would have a setShape</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The setShape comes from the Object Model and is transferred to my mapToMethod.js object:</p><p class=MsoNormal><o:p> </o:p></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:roy.walmsley@ntlworld.com">Roy Walmsley</a><br><b>Sent: </b>Thursday, February 23, 2017 5:32 AM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">'X3D Graphics public mailing list'</a>; <a href="mailto:brutzman@nps.edu">'Don Brutzman'</a><br><b>Subject: </b>RE: How should CAD -shape containerField be expressed in X3DJSAIL</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=EN-GB>John,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>Thanks for the processing summary.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>The JSON file you attached to your previous message was incorrect. So, I take it that this file corresponds to the “Incorrect JSON” listed at the end of the third line below. In contrast, the JSON at the end of the first line is correct. This implies that the X3dToJson stylesheet transform works correctly.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>So,  the processing is going wrong somewhere on the second and third lines you listed. What can you tell from your intermediate results? For example, is the Java correct that you listed at the end of the second line?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>All the best,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>Roy<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From:</b> yottzumm@gmail.com [mailto:yottzumm@gmail.com] <br><b>Sent:</b> 23 February 2017 04:17<br><b>To:</b> Roy Walmsley <roy.walmsley@ntlworld.com>; 'X3D Graphics public mailing list' <x3d-public@web3d.org>; Don Brutzman <brutzman@nps.edu><br><b>Subject:</b> RE: How should CAD -shape containerField be expressed in X3DJSAIL<o:p></o:p></p></div></div><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal>Here’s the workflow:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>X3D XML ->  X3dToJson.xslt (perhaps via RunSaxon.java) ->  Correct JSON<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Correct JSON -> runjson.sh -> json2all.js -> convertJSON.js -> X3DJSON.js (produces XML DOM) -> JavaSerializer.js -> Java<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Java -> javac -> java -> X3DJSAIL (outputs XML to intermediate file calls X3dToJson.xslt—my understanding) -> Incorrect JSON<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>diff Correct JSON with Incorrect JSON to see differences with containerField.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Incorrect JSON -> Ajv + JSON Schema -> Errors.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I’ll leave it to Don to describe how X3DJSAIL is produced from XML Schema and the Object Model.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Don has this envisioned:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>X3D XML -> X3DJSAIL (Java Objects using reflection) ->  Many by style sheet.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am producing intermediate results which may be inspected, like Java code, for testing purposes. My primary purpose with Java is to produced JSON code from JSON input for roundtrip testing. And possible to get a declarative Java encoding with modern Java 8 efficiencies (more on that later).  And we are starting to be more successful with knocking out bugs again (see CompileJava.zip please)!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Actually Java source code is probably not the way to go because it doesn’t allow that many constants (numbers I think).  There will be some limitations we may have to program around, or ask Oracle to extend.  Really, VRML, XML and JSON are preferred in this case of encoding over the current state of Java—but reflection may work too.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></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<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a><br><b>Sent: </b>Wednesday, February 22, 2017 7:08 PM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>; <a href="mailto:x3d-public@web3d.org">'X3D Graphics public mailing list'</a><br><b>Subject: </b>RE: How should CAD -shape containerField be expressed in X3DJSAIL<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=EN-GB>Thanks John.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>You are right, I don’t have a 3.1 schema for JSON.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>I manually inspected the examples. They seem fine to me, and the JSON validates against the V3.3 JSON schema. This can only mean that I don’t understand your problem. To my eyes, all the examples and schemas are fine. So to clarify, please give me a step-by-step account of what you are doing. What are you starting from? What tools to you use to do what with it? Etc..<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>Sorry not to be more instantly helpful,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>Roy<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From:</b> <a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a> [<a href="mailto:yottzumm@gmail.com">mailto:yottzumm@gmail.com</a>] <br><b>Sent:</b> 22 February 2017 23:12<br><b>To:</b> Roy Walmsley <<a href="mailto:roy.walmsley@ntlworld.com">roy.walmsley@ntlworld.com</a>>; X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>><br><b>Subject:</b> FW: How should CAD -shape containerField be expressed in X3DJSAIL<o:p></o:p></p></div></div><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal>Here are the examples I am referring to.   The ones with the shape container that supposedly are supposed to validate properly.  However, there is some comments in the meta stuff that you may want to check:.  I hope I am not chasing a red herring again.  I don’t see how you could validate it against the JSON schema, unless you have a 3.1 schema. (can I have a copy?)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="http://www.web3d.org/x3d/content/examples/Basic/CAD/%7battachments%7d">www.web3d.org/x3d/content/examples/Basic/CAD/{attachments}</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<o:p></o:p></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<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From: </b><a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a><br><b>Sent: </b>Tuesday, February 21, 2017 1:38 AM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Don Brutzman</a>; <a href="mailto:roy.walmsley@ntlworld.com">Roy Walmsley</a>; <a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>How should CAD -shape containerField be expressed in X3DJSAIL<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Attached input JSON and converted Java.  The Java does not produce -shape in the output JSON.json file [ not provided—compile and run the Java ].  Is this OK?  I am currently using setShape in the Java.  Why doesn’t the JSON.json have the containerField?  Thanks!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John<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></div></body></html>