[x3d-public] Tremendous progress on X3DJSAIL-X3DJSONLD JSON loader test suite (All tests pass!)

John Carlson yottzumm at gmail.com
Sat Sep 18 22:43:08 PDT 2021


The following patch to X3dToNodeJS.xslt will fix the issues of Html 
attributes which are being integrated into X3D4.  The upgrades of the 
examples to X3DV4 also helped a great deal, I just wish upgrade plans or 
solutions were more obvious and could be turned on and off in an ant 
script.  This was a very hard set of fixes, and I spend a lot of time at 
the bottom of the pool resuscitating Don.

These were hard one, even though simple solutions.

Note:  mapping containerField is a 3.x thing, has been renamed to 
children in 4.0 in DIS.  I will start debugging the X3dToNodeJS.xslt 
patches on X3DJSONLD next

Please patch this file, or otherwise, give me permission to update.

Note: Use Node.JS 12 for now.  This matches npm-java 0.12.

Note: I handle all style attributes as  Css styles, will need to be 
fixed below for actual X3D style attribute (if possible, don't add the Css).


Index: X3dToNodeJS.xslt
===================================================================
--- X3dToNodeJS.xslt    (revision 32439)
+++ X3dToNodeJS.xslt    (working copy)
@@ -299,7 +299,8 @@
         }
  }
  </xsl:text><!-- class complete -->
-<xsl:text>new </xsl:text><xsl:value-of 
select="$newClassName"/><xsl:text>().main();</xsl:text>
+<xsl:text>new </xsl:text><xsl:value-of 
select="$newClassName"/><xsl:text>().main();
+process.exit(0);</xsl:text>


      </xsl:template>
@@ -2243,9 +2244,22 @@
                                 <xsl:if test="(local-name() = 'class')">
<xsl:text>Css</xsl:text><!-- method prefix -->
                                 </xsl:if>
+                               <xsl:if test="(local-name() = 'style')">
+ <xsl:text>Css</xsl:text><!-- method prefix -->
+                               </xsl:if>
+                               <xsl:if test="(local-name() = 'id')">
+ <xsl:text>Html</xsl:text><!-- method prefix -->
+                               </xsl:if>
                                 <!-- upper camel case -->
-                               <xsl:value-of 
select="translate(substring(name(),1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
-                               <xsl:value-of select="substring(name(),2)"/>
+                               <xsl:if test="(local-name() = 'id')">
+                                       <xsl:value-of 
select="translate(substring(name(),1,2),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
+                               </xsl:if>
+
+                               <xsl:if test="(local-name() != 'id')">
+                                       <xsl:value-of 
select="translate(substring(name(),1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
+                                       <xsl:value-of 
select="substring(name(),2)"/>
+                               </xsl:if>
+
                                 <xsl:text>(</xsl:text>

                                 <xsl:variable name="nodeNumber"    
select="count(../preceding::*) + 1"/>




More information about the x3d-public mailing list