<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;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 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 would just like to see some consistency between output from the X3dToJson.xslt and X3DJSAIL.  If this means modifying my Java code, tell me how to do it.  I think the XML generated by X3DJSAIL is WRONG!  It’s kind of hard to capture because it’s an intermediate file.  Perhaps someone could generate XML from X3DJSAIL and compare it to the original.  It takes all my spare time to do the JSON.  That is, change toFileJSON to some XML generating method in the Java and run it.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Since I am producing XML from JSON, I may actually need the containerField in the JSON (unless I can magically figure it out).  Consider this for the V4.0 standard.  Otherwise, I may not be able to produce proper XML.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</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>Tuesday, February 21, 2017 8:22 AM<br><b>To: </b><a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a><br><b>Cc: </b><a href="mailto:brutzman@nps.edu">'Don Brutzman'</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</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>JSON, just like the VRML encoding, does not need containerField. This is because the child content is listed below the specific field that contains it. So, for example, consider a CADFace listing from the JSON file you attached:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>{</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'> </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"CADFace"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>  </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>{</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>    </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"@name"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>"outerSurface"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>,</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>    </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"-shape"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>      </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>{</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'> </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"Shape"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>        </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>{</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>          </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"-children"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:[</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>            </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>{</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'> </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"#comment"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>"note solid='true' and so one-sided external rendering only"<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>            </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>}</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>          </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>],</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>          </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"-geometry"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>            </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>{</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'> </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"Cylinder"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>              </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>{</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>                </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"@bottom"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:teal;background:white;mso-highlight:white'>false</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>,</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>                </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"@height"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:teal;background:white;mso-highlight:white'>3</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>,</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>                </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"@radius"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:teal;background:white;mso-highlight:white'>2</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>,</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>                </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"@top"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:teal;background:white;mso-highlight:white'>false</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>              </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>}</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>            </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>},</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>          </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"-appearance"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>            </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>{</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'> </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"Appearance"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>              </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>{</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>                </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"@DEF"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>"AppearanceGrey"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>,</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>                </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"-material"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>                  </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>{</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'> </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>"Material"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>:</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>                    </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>{</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>                    </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>}</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>                  </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>}</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>              </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>}</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>            </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>}</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>        </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>}</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>      </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>}</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>  </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>}</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>}</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><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 CADFace node has the value of two fields specified. The first is the “name” field, with the value “outerSurface”. The second is the “shape” field, with the value being the “Shape” node.<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>How does this appear in the XML encoding? It is :<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'><</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>CADFace</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> name</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>outerSurface</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>  <</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Shape</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> containerField</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>shape</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"><!--</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:gray;background:white;mso-highlight:white'>note solid='true' and so one-sided external rendering only</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>--><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>    <</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Cylinder</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> containerField</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>geometry</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> bottom</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>false</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> height</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>3</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> radius</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>2</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> top</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>false</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"></</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Cylinder</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>></span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>    <</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Appearance</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> containerField</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>appearance</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> DEF</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>AppearanceGrey</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>      <</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Material</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> containerField</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>material</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"></</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Material</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>></span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>    </</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Appearance</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>></span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>  </</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Shape</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>></span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'></</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>CADFace</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>></span><span lang=EN-GB> <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 could have been written as follows:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'><</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>CADFace</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> name</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>outerSurface</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>  <</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Shape</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>><!--</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:gray;background:white;mso-highlight:white'>note solid='true' and so one-sided external rendering only</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>--><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>    <</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Cylinder </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'>bottom</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>false</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> height</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>3</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> radius</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>2</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'> top</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>false</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"></</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Cylinder</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>></span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>    <</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Appearance </span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:red;background:white;mso-highlight:white'>DEF</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>="</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'>AppearanceGrey</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>"><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>      <</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Material</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>></</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Material</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>></span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>    </</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Appearance</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>></span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>  </</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>Shape</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>></span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'></</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:maroon;background:white;mso-highlight:white'>CADFace</span><span lang=EN-GB style='font-size:10.0pt;font-family:Consolas;color:blue;background:white;mso-highlight:white'>></span><span lang=EN-GB> <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>Notice that the “containerField” attributes have all been deleted. This might well fail to load. Why? Because, reference to the XML schema shows that the default value of “containerField” for the “Shape” node is “children”. However, CADFace does not have a “children” field. So, it is necessary to specify somehow which field the “Shape” node should be assigned to. Hence the “containerField” attribute.<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>In summary, in the X3D standard 19775-1 there is no “containerField”. In the ClassicVRML encoding 19776-2 there is no “containerField”. In the JSON encoding 19776-5 there is no “containerField”. It is, however, in the XML encoding 19776-1. This is the only text encoding that it appears in. Note that it would not be expected to be included in an implementation.  That is because, on loading into memory, and having created an instance of the “CADFace” node, the reading of the “Shape” node would create that instance, and then store the reference to it in the “shape” field of the “CADFace” node. So it is only required by the XML loader to determine which node field to add the child node reference to.<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><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> 21 February 2017 06:38<br><b>To:</b> Don Brutzman <brutzman@nps.edu>; Roy Walmsley <roy.walmsley@ntlworld.com>; X3D Graphics public mailing list <x3d-public@web3d.org><br><b>Subject:</b> 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>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></div></body></html>