<div dir="ltr">I need X3dToNodeJS.xslt to produce code like the below, or a better solution, like<div>------------------------------</div><div>var autoclass = require('../../../X3Dautoclass');</div><div><br></div><div>var Anchor = autoclass.Anchor;</div><div>[ for all the X3D classes in X3Dautoclass.js ]</div><div>---------------------------------------------------------------------</div><div>It may be simpler just to add parens around the new (new autoclass.foo()) in the the short term.</div><div><br></div><div>It's checked into sourceforge at</div><div><br></div><div>x3d-code/<a href="http://www.web3d.org/x3d/stylesheets/X3dToNodeJS.xslt">www.web3d.org/x3d/stylesheets/X3dToNodeJS.xslt</a></div><div><br></div><div>Thanks for any help!  Really I appreciate it.</div><div><br></div><div>John</div><div><br></div><div>var java = require('java');<br>java.asyncOptions = {<br>  asyncSuffix: undefined,     // Don't generate node-style methods taking callbacks<br>  syncSuffix: "",              // Sync methods use the base name(!!)<br>  promiseSuffix: "Promise",   // Generate methods returning promises, using the suffix Promise.<br>  promisify: require('util').promisify, // Needs Node.js version 8 or greater, see comment below<br>  ifReadOnlySuffix: "_alt"<br>};<br>var autoclass = require('../../../X3Dautoclass');<br>var ConfigurationProperties = autoclass.ConfigurationProperties;<br>ConfigurationProperties.showDefaultAttributes = false;<br>ConfigurationProperties.xsltEngine = ConfigurationProperties.XSLT_ENGINE_NATIVE_JAVA;<br>ConfigurationProperties.deleteIntermediateFiles = false;<br>ConfigurationProperties.setStripTrailingZeroes(true);<br>var ProtoInstance0 = null;<br>var ProtoInstance1 = null;<br>var ProtoInstance2 = null;<br>var ProtoInstance3 = null;<br>var ProtoInstance4 = null;<br>var ProtoInstance5 = null;<br>var ProtoInstance6 = null;<br>      var X3D0 =  (new autoclass.X3D()).setProfile("Immersive").setVersion("3.3")<br>      .setHead((new autoclass.head())<br>        .addMeta((new autoclass.meta()).setName("title").setContent("x3domflowers.x3d"))<br>        .addMeta((new autoclass.meta()).setName("creator").setContent("John Carlson"))<br>        .addMeta((new autoclass.meta()).setName("description").setContent("5 or more prismatic flowers"))<br>        .addMeta((new autoclass.meta()).setName("generator").setContent("X3D-Edit, <a href="https://savage.nps.edu/X3D-Edit">https://savage.nps.edu/X3D-Edit</a>"))<br>        .addMeta((new autoclass.meta()).setName("identifier").setContent("<a href="https://coderextreme.net/X3DJSONLD/src/main/data/x3domflowers.x3d">https://coderextreme.net/X3DJSONLD/src/main/data/x3domflowers.x3d</a>")))<br>      .setScene((new autoclass.Scene())<br>        .addChild((new autoclass.NavigationInfo()))<br>        .addComments((new autoclass.CommentsBlock("Images courtesy of Paul Debevec's Light Probe Image Gallery")))<br>        .addChild((new autoclass.Background()).setBackUrl(java.newArray("java.lang.String", ["../resources/images/all_probes/stpeters_cross/stpeters_back.png","<a href="https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_back.png">https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_back.png</a>"])).setBottomUrl(java.newArray("java.lang.String", ["../resources/images/all_probes/stpeters_cross/stpeters_bottom.png","<a href="https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_bottom.png">https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_bottom.png</a>"])).setFrontUrl(java.newArray("java.lang.String", ["../resources/images/all_probes/stpeters_cross/stpeters_front.png","<a href="https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_front.png">https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_front.png</a>"])).setLeftUrl(java.newArray("java.lang.String", ["../resources/images/all_probes/stpeters_cross/stpeters_left.png","<a href="https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_left.png">https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_left.png</a>"])).setRightUrl(java.newArray("java.lang.String", ["../resources/images/all_probes/stpeters_cross/stpeters_right.png","<a href="https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_right.png">https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_right.png</a>"])).setTopUrl(java.newArray("java.lang.String", ["../resources/images/all_probes/stpeters_cross/stpeters_top.png","<a href="https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png">https://coderextreme.net/X3DJSONLD/images/all_probes/stpeters_cross/stpeters_top.png</a>"])))<br>        .addChild((new autoclass.Group())<br>          .addChild((new autoclass.ExternProtoDeclare()).setName("FlowerProto").setUrl(java.newArray("java.lang.String", ["../data/flowerproto.json#FlowerProto"]))<br>            .addField((new autoclass.field()).setType(autoclass.field.TYPE_MFSTRING).setName("vertex").setAccessType(autoclass.field.ACCESSTYPE_INPUTOUTPUT))<br>            .addField((new autoclass.field()).setType(autoclass.field.TYPE_MFSTRING).setName("fragment").setAccessType(autoclass.field.ACCESSTYPE_INPUTOUTPUT)))<br>          .addChild((new autoclass.ProtoDeclare()).setName("flower")<br>            .setProtoBody((new autoclass.ProtoBody())<br>              .addChild((new autoclass.Group())<br>                .addChild(ProtoInstance0 = (new autoclass.ProtoInstance()).setName("FlowerProto")))))<br>          .addChild(ProtoInstance1 = (new autoclass.ProtoInstance()).setName("flower"))<br>          .addChild(ProtoInstance2 = (new autoclass.ProtoInstance()).setName("flower"))<br>          .addChild(ProtoInstance3 = (new autoclass.ProtoInstance()).setName("flower"))<br>          .addChild(ProtoInstance4 = (new autoclass.ProtoInstance()).setName("flower"))<br>          .addChild(ProtoInstance5 = (new autoclass.ProtoInstance()).setName("flower"))<br>          .addChild(ProtoInstance6 = (new autoclass.ProtoInstance()).setName("flower"))))      ;<br>ProtoInstance0<br>                  .addFieldValue((new autoclass.fieldValue()).setName("vertex").setValue("\"../shaders/x3dom_flowers_chromatic.vs\""));<br>ProtoInstance0<br>                  .addFieldValue((new autoclass.fieldValue()).setName("fragment").setValue("\"../shaders/common.fs\""));<br>    X3D0.toFileX3D("../data/x3domflowers.new.x3d");<br></div></div>