<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:Helvetica;
        panose-1:2 11 5 4 2 2 2 2 2 4;}
@font-face
        {font-family:Courier;
        panose-1:2 7 4 9 2 2 5 2 4 4;}
@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:CourierNewPSMT;}
@font-face
        {font-family:Menlo-Regular;}
/* 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><a href="https://coderextreme.net/X3DJSONLD/src/main/html/flowers2.html">https://coderextreme.net/X3DJSONLD/src/main/html/flowers2.html</a></p><p class=MsoNormal><a href="https://coderextreme.net/X3DJSONLD/src/main/html/">https://coderextreme.net/X3DJSONLD/src/main/html/</a></p><p class=MsoNormal>https://coderextreme.net/X3DJSONLD/src/main/html/</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:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Sunday, April 1, 2018 5:38 PM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>; <a href="mailto:x3dom-users@lists.sourceforge.net">x3dom mlist</a><br><b>Subject: </b>X3DJSON prototypes and scripts for X3DOM, X_ITE.</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:18.0pt;font-family:"Helvetica",sans-serif'>Introducing:  The X3D JSON Loader (2.0 beta), X3DOM JSON Prototype Expander (2.0 beta), X3DOM JSONScript (0.1 alpha) – Your solution for XMLDOM -> X3D JSON -> XMLDOM JavaScript development for X3DOM and X_ITE.</span><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'>For a Quick Start, edit flowers2.html and replace ../data/flowers2.json with your X3D JSON URL and put flowers2.html, following JavaScript on your web server.  Then open flowers2.html in your web browser.<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'>    <script type="text/javascript" src="../node/X3DJSONLD.js"></script><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'>    <script type="text/javascript" src="../node/Script.js"></script><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'>    <script type="text/javascript" src="../node/PrototypeExpander.js"></script><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'>    <script type="text/javascript" src="../node/Flattener.js"></script><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'>    <script type="text/javascript" src="../node/loaderJQuery.js"></script><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'>[ also you may want to add my versions of x_ite (maybe not—should be the same) and x3dom (definitely) for full functionality ]<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'>There are more complex cases of multi JSON files in the same scene in prototypes.html.<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'>Good luck.<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'>I still have extra stuff in the global scope of JavaScript—let people know this.  Pull requests and forks are welcome, as long as you agree to the license.<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>License is here: </span><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'><a href="https://github.com/coderextreme/X3DJSONLD/blob/master/LICENSE"><span style='color:windowtext'>https://github.com/coderextreme/X3DJSONLD/blob/master/LICENSE</span></a><span style='color:#7F7F7F'><o:p></o:p></span></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>Repository is here: </span><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'><a href="https://github.com/coderextreme/X3DJSONLD/"><span style='color:windowtext'>https://github.com/coderextreme/X3DJSONLD/</span></a><span style='color:#7F7F7F'><o:p></o:p></span></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>For a web browser, a live, development version of the X3D JSON loader (I recommend downloading locally or forking) in your HTML, put:<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'><script type="text/javascript" src="</span><span lang=EN style='font-family:"Helvetica",sans-serif'><a href="https://raw.githubusercontent.com/coderextreme/X3DJSONLD/master/src/main/node/X3DJSONLD.js">https://raw.githubusercontent.com/coderextreme/X3DJSONLD/master/src/main/node/X3DJSONLD.js</a></span><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>"></script></span><span lang=EN style='font-family:"Helvetica",sans-serif;color:#722CFD'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>somewhere in the script (see index.html),<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>call<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>loadX3DJS(document.implementation, json, url, xml, NS, loadSchema, doValidate, function(element, xmlDoc) {<o:p></o:p></span></p><p class=MsoNormal style='text-indent:.5in;text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#7F7F7F'>Then append the element to your DOM:</span><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>     </span><span lang=EN style='font-size:9.0pt;font-family:Courier;color:#722CFD'>document.querySelector(selector).appendChild(element</span><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>);<o:p></o:p></span></p><p class=MsoNormal style='text-indent:.5in;text-autospace:none'><span lang=EN style='font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#722CFD'>x3dom.reload();<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>}<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#7F7F7F'>selector</span><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'> </span><span lang=EN style='font-family:"Helvetica",sans-serif;color:#7F7F7F'>is the CSS selector which you want to append the X3DOM HTML code to.</span><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#7F7F7F'>json</span><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'> </span><span lang=EN style='font-family:"Helvetica",sans-serif;color:#7F7F7F'>is the X3D JSON you want to display.</span><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#7F7F7F'>url</span><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'> </span><span lang=EN style='font-family:"Helvetica",sans-serif;color:#7F7F7F'>is used for resolving URLs in the X3D JSON.  Should be similar or the same as the URL you passed to retrieve the JSON from the server.</span><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#7F7F7F'>xml</span><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'> </span><span lang=EN style='font-family:"Helvetica",sans-serif;color:#7F7F7F'>is the array or LOG for inclusion into X_ITE via createX3DFromString, this would normally work something like:<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:9.0pt;font-family:Courier;color:#7F7F7F'>       </span><span lang=EN style='font-size:9.0pt;font-family:Courier;color:#722CFD'>var browser = X3D.getBrowser(“X3D");<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:9.0pt;font-family:Courier;color:#722CFD'>       browser.replaceWorld(browser.createX3DFromString(xml.join("\n"));<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#722CFD'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'>“X3D” is the CSS query selector.<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#7F7F7F'>NS is the namespace to use when creating elements in the DOM for the XML Serializer.  </span><span lang=EN style='font-size:9.0pt;font-family:Courier'><a href="http://www.w3.org/1999/xhtml"><span style='color:windowtext'>http://www.w3.org/1999/xhtml</span></a><span style='color:#7F7F7F'> normally works for X3DOM and </span><a href="http://www.web3d.org/specifications/x3d-namespace"><span style='color:windowtext'>http://www.web3d.org/specifications/x3d-namespace</span></a><span style='color:#7F7F7F'> normally works for X_ITE.  Leaving NS off is also acceptable, but may lead to results you don't like.<o:p></o:p></span></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>Sample code for X_ITE where #x_ite is the id of your X3DCanvas :<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>var content = xml.join("\n");</span><span lang=EN style='font-size:12.0pt;font-family:CourierNewPSMT;color:#722CFD'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>X3D(function() {<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>     var browser = X3D.getBrowser("#x_ite");</span><span lang=EN style='font-size:12.0pt;font-family:CourierNewPSMT;color:#722CFD'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>browser.replaceWorld(browser.createX3DFromString(content);<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>});</span><span lang=EN style='font-size:12.0pt;font-family:CourierNewPSMT;color:#722CFD'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:CourierNewPSMT;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>For the prototype expander a live, development version (I recommend downloading locally or forking) in your HTML, put:<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'><script type="text/javascript" src="</span><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif'><a href="https://raw.githubusercontent.com/coderextreme/X3DJSONLD/master/src/main/node/PrototypeExpander.js">https://raw.githubusercontent.com/coderextreme/X3DJSONLD/master/src/main/node/PrototypeExpander.js</a></span><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>"></script></span><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>then call (does not modify extern protos yet, use the included server as `node app.js`--works in some cases—does this on the server):<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>json = protoExpander.prototypeExpander(url, json);<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:CourierNewPSMT;color:#722CFD'>json = flattener(json);</span><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#722CFD'><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-family:Menlo-Regular;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:CourierNewPSMT;color:#7F7F7F'>json</span><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'> is the X3DJSON you want to expand protos for (also modifies the parameter as output)<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>The server-side code for running the prototype expander is (you may have to add the flattener as well):<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>var PROTOS = require('./src/main/node/PrototypeExpander')<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>PROTOS.setLoadURLs(loadURLs);<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>json = PROTOS.externalPrototypeExpander(url, json);<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'>You may wish to try this on the client to see if it works.  I haven’t gotten it to work yet in all cases.<o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN style='font-size:12.0pt;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:red'>There is a lot of useful code in loaderJQuery.js.  index.html (for protos), flipper.html (for the base loader, subscenes), prototypes.html (scripts, prototypes, subscenes), prototypes2.html (JSON loading into X_ITE) are good examples.<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'>To enable JSONScript scripting, put this on your web page:<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'>        <span style="display:none"> Use JSONScript in X3DOM? <input id="scripting" type="checkbox" checked></input></span><o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'>And put this in your JavaScript where the selector is an X3DOM scene:<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'>                                    if ($('#scripting').is(':checked')) {<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'>                                      loadScripts(json, selector);<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'>                                }<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'>To run XML -> JSON conversions, put your .x3d file in src/main/data, and cd to src/main/shell and run `sh several.sh ../data/file.x3d`  You will find output in data, nashorn, java, and python folders (way down low for the latter).<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'>To run the proto expander on the server, put your .json and .x3d files in src/main/data and cd to src/main/shell and run `sh runppp.sh`  The XML will be in src/main/shell/data and the JSON will be in src/main/ppp.  Good luck!<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'><o:p> </o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'>You may start a local file browser by cd’ing to X3DJSONLD and running `node app.js`  This will allow you to use ExternProtoDeclare in JSON at least, and search for JSON, WRL, X3D, STL, and PLY files from the web browser.<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'><br>TODO:  Bring X_ITE and XML selectors to API.<o:p></o:p></span></p><p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%;text-autospace:none'><span lang=EN style='font-size:12.0pt;line-height:115%;font-family:"Helvetica",sans-serif;color:#7F7F7F'>John Carlson<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>