<div dir="auto">3 people have asked me to return to the list.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>From: <strong class="gmail_sendername" dir="auto">John Carlson</strong> <span dir="auto"><<a href="mailto:yottzumm@gmail.com">yottzumm@gmail.com</a>></span><br>Date: Thu, Jan 4, 2024 at 1:43 AM<br>Subject: Re: Java generated HAnim XML (long)<br>To: Joe D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>>, Vincent Marchetti <<a href="mailto:vmarchetti@ameritech.net">vmarchetti@ameritech.net</a>><br></div><br><br><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="auto">Here are patches to the X3DJSAIL stylesheet for HAnim (not metadata). This sorts skeleton first in HAnimHumanoid, and adds viewpoints to HAnimSite containerField values</div><div><br></div><div>This is the final repairs X3DJSAIL to my DiamondLOA0.java.  I have other HAnim figures (my own) which are blowing up now, and I will pursue those. I am not pursuing changes to X3dToJava.xslt yet. I think the fix is really in X3DJSAIL stylesheet.  I am satisfied with setContainerFieldOverride for now. If we don't want to rewrite all the Java in the archive, there will be further changes to X3DJSAIL such that setContainerFieldOverride is not needed in the external API. I don't know how hard or easy it will be or if I will be able to accomplish it.  We have an adequate workaround now, for DiamondLOA0.java (my version, with XML output).</div><div><br></div><div>John</div><div><br></div><div><div>svn diff CreateX3dSceneAccessInterfaceJava.xslt</div><div>Index: CreateX3dSceneAccessInterfaceJava.xslt</div><div>===================================================================</div><div>--- CreateX3dSceneAccessInterfaceJava.xslt      (revision 35811)</div><div>+++ CreateX3dSceneAccessInterfaceJava.xslt      (working copy)</div><div>@@ -3842,7 +3842,7 @@</div><div>                                                                                                <xsl:text>, "segments" /*HAnimHumanoid parent*/</xsl:text></div><div>                                                                                        </xsl:when></div><div>                                                                                        <xsl:when test="starts-with($name,'HAnimSite')"></div><div>-                                                                                               <xsl:text>, "sites" /*HAnimHumanoid parent*/, "skeleton" /*HAnimHumanoid parent*/</xsl:text></div><div>+                                                                                               <xsl:text>, "sites" /*HAnimHumanoid parent*/, "viewpoints" /*HAnimHumanoid parent*/, "skeleton" /*HAnimHumanoid parent*/</xsl:text></div><div>                                                                                        </xsl:when></div><div>                                                                                        <xsl:when test="starts-with($name,'HAnimMotion')"></div><div>                                                                                                <xsl:text>, "motions" /*HAnimHumanoid parent*/</xsl:text></div><div>@@ -13828,11 +13828,12 @@</div><div>                                                                                                                        ((@accessType='initializeOnly') or (@accessType='inputOutput')) and</div><div>                                                             not(@name = 'meta')]"></div><div>                                <!-- order is essential for elements, xsl:sort results in reverse order --></div><div>-                               <xsl:sort select="@name[not((. = 'head') or (. = 'Scene') or (. = 'ProtoBody') or (. = 'ProtoInterface') or (. = 'IS') or (. = 'field') or (. = 'metadata'))]"/></div><div>+                               <xsl:sort select="@name[not((. = 'head') or (. = 'skeleton') or (. = 'Scene') or (. = 'ProtoBody') or (. = 'ProtoInterface') or (. = 'IS') or (. = 'field') or (. = 'metadata'))]"/></div><div>                                <!-- special order for head elements: meta comes last --></div><div>                                <!-- sort head before Scene in X3D --></div><div>                                <xsl:sort select="(@name = 'Scene')"/></div><div>                                <xsl:sort select="(@name = 'head')"/></div><div>+                               <xsl:sort select="(@name = 'skeleton')"/></div><div>                                <!-- sort ProtoInterface before ProtoBody in ProtoDeclare --></div><div>                                <xsl:sort select="(@name = 'ProtoBody')"/></div><div>                                <xsl:sort select="(@name = 'ProtoInterface')"/></div></div></div></div></div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div></div></div></div></div></div>