<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>Although IS children of Transform are being exported, IS children of ProtoInstance are not being exported to XML or JSON in X3DJSAIL.  See attached Java example (I didn’t see that my Java was wrong, but I should probably use the new Declarative syntax to be sure).  Perhaps the IS variable is missing from toStringX3D()?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I believe ProtoInstanceObject.java is missing the line:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>                          if (getIS() != null)</p><p class=MsoNormal>                                  stringX3D.append(getIS().toStringX3D(level + indentIncrement));</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>Found in TransformObject.java</p><p class=MsoNormal><br>I believe this Java derives from these lines in: CreateX3dSceneAccessInterfaceJava.xslt:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><xsl:if test="not($isX3dStatement = 'true') and not($name = 'CommentsBlock') and not($name = 'Script')"></p><p class=MsoNormal>                        <xsl:text></p><p class=MsoNormal>                        if (getIS() != null)</p><p class=MsoNormal>                                stringX3D.append(getIS().toStringX3D(level + indentIncrement));</xsl:text></p><p class=MsoNormal>                </xsl:if></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Probably ProtoInstance should be included instead of excluded as a statement?   We’ve been revisiting this several times.  Is ProtoInstance actually as statement?  I think ProtoInstance should be included in this test case.</p><p class=MsoNormal><br>Will provide diffs for your own perusal soon.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p></div></body></html>