<div dir="ltr">I'm using this code below pasted into the dev console of the page:<div><br></div><div><div><a href="https://www.web3d.org/x3d/content/examples/Basic/UniversalMediaPanoramas/desert3X_ITE.html">https://www.web3d.org/x3d/content/examples/Basic/UniversalMediaPanoramas/desert3X_ITE.html</a>  <br></div></div><div><br></div><div>Apparently, the XML doesn't parse the ProtoDeclare????</div><div><br></div><div>Should I use JSON?</div><div><br></div><div>What am I doing wrong?  A lot,  I know!</div><div><br></div><div>Thanks,</div><div><br></div><div>John</div><div><br><br>x_ite.min.js:19 (3) [Error: Invalid XML: <?xml version="1.0" encoding="undefined"?><br><!DOCTYPE X3D PUBLIC "ISO//Web3D//DT…, SyntaxError: Unexpected token < in JSON at position 0<br>    at JSON.parse (<anonymous>)<br>    at c.a (h…, Error: <br>********************************************************************************<br>Parser err…]<br>createX3DFromString @ x_ite.min.js:19<br>createX3DFromString @ x_ite.min.js:42<br>(anonymous) @ VM28:5<br>x_ite.min.js:19 Uncaught Error: Couldn't parse x3d syntax.<br>    at createX3DFromString (x_ite.min.js:19)<br>    at v.createX3DFromString (x_ite.min.js:42)<br>    at <anonymous>:5:29</div><div><div><br></div><div>Below is the code:</div><div>============================================</div><div>let browser = X3D.getBrowser();<br>let X3D0 = {};<br>X3D0.profile = "Immersive";<br>X3D0.version = "3.3";<br>let ProtoDeclare2 = browser.createX3DFromString(`<?xml version="1.0" encoding="undefined"?><br><!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D undefined//EN" "<a href="http://www.web3d.org/specifications/x3d-undefined.dtd">http://www.web3d.org/specifications/x3d-undefined.dtd</a>"><br><ProtoDeclare name="anyShape" ><ProtoInterface><field name="myShape" accessType="inputOutput" type="MFNode"><Shape><Sphere containerField="geometry"></Sphere><br></Shape><br></field><br></ProtoInterface><br><ProtoBody><Transform><IS><connect nodeField="children" protoField="myShape"></connect><br></IS><br></Transform><br></ProtoBody><br></ProtoDeclare>`);<br>ProtoDeclare2.name = "anyShape";<br>let ProtoInterface3 = browser.currentScene.createNode("ProtoInterface");<br>let field4 = browser.currentScene.createNode("field");<br><a href="http://field4.name">field4.name</a> = "myShape";<br>field4.accessType = "inputOutput";<br>field4.type = "MFNode";<br>let Shape5 = browser.currentScene.createNode("Shape");<br>let Sphere6 = browser.currentScene.createNode("Sphere");<br>Shape5.geometry = Sphere6;<br><br>field4.children = new MFNode();<br><br>field4.children[0] = Shape5;<br><br>ProtoInterface3.field = new MFNode();<br><br>ProtoInterface3.field[0] = field4;<br><br>ProtoDeclare2.protoInterface = ProtoInterface3;<br><br>let ProtoBody7 = browser.currentScene.createNode("ProtoBody");<br>let Transform8 = browser.currentScene.createNode("Transform");<br>let IS9 = browser.currentScene.createNode("IS");<br>let connect10 = browser.currentScene.createNode("connect");<br>connect10.nodeField = "children";<br>connect10.protoField = "myShape";<br>IS9.connect = new MFNode();<br><br>IS9.connect[0] = connect10;<br><br>Transform8.iS = IS9;<br><br>ProtoBody7.children = new MFNode();<br><br>ProtoBody7.children[0] = Transform8;<br><br>ProtoDeclare2.protoBody = ProtoBody7;<br><br>browser.currentScene.children = new MFNode();<br><br>browser.currentScene.children[0] = ProtoDeclare2;<br><br>let ProtoDeclare11 = browser.createX3DFromString(`<?xml version="1.0" encoding="undefined"?><br><!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D undefined//EN" "<a href="http://www.web3d.org/specifications/x3d-undefined.dtd">http://www.web3d.org/specifications/x3d-undefined.dtd</a>"><br><ProtoDeclare name="one" ><ProtoInterface><field name="myShape" accessType="inputOutput" type="MFNode"><Shape><Cylinder containerField="geometry"></Cylinder><br></Shape><br></field><br></ProtoInterface><br><ProtoBody><Transform><ProtoInstance name="anyShape"><IS><connect nodeField="myShape" protoField="myShape"></connect><br></IS><br></ProtoInstance><br></Transform><br></ProtoBody><br></ProtoDeclare>`);<br>ProtoDeclare11.name = "one";<br>let ProtoInterface12 = browser.currentScene.createNode("ProtoInterface");<br>let field13 = browser.currentScene.createNode("field");<br><a href="http://field13.name">field13.name</a> = "myShape";<br>field13.accessType = "inputOutput";<br>field13.type = "MFNode";<br>let Shape14 = browser.currentScene.createNode("Shape");<br>let Cylinder15 = browser.currentScene.createNode("Cylinder");<br>Shape14.geometry = Cylinder15;<br><br>field13.children = new MFNode();<br><br>field13.children[0] = Shape14;<br><br>ProtoInterface12.field = new MFNode();<br><br>ProtoInterface12.field[0] = field13;<br><br>ProtoDeclare11.protoInterface = ProtoInterface12;<br><br>let ProtoBody16 = browser.currentScene.createNode("ProtoBody");<br>let Transform17 = browser.currentScene.createNode("Transform");<br>let ProtoInstance18 = browser.currentScene.createNode("ProtoInstance");<br>ProtoInstance18.name = "anyShape";<br>let IS19 = browser.currentScene.createNode("IS");<br>let connect20 = browser.currentScene.createNode("connect");<br>connect20.nodeField = "myShape";<br>connect20.protoField = "myShape";<br>IS19.connect = new MFNode();<br><br>IS19.connect[0] = connect20;<br><br>ProtoInstance18.iS = IS19;<br><br>Transform17.children = new MFNode();<br><br>Transform17.children[0] = ProtoInstance18;<br><br>ProtoBody16.children = new MFNode();<br><br>ProtoBody16.children[0] = Transform17;<br><br>ProtoDeclare11.protoBody = ProtoBody16;<br><br>browser.currentScene.children[1] = ProtoDeclare11;<br><br>let ProtoInstance21 = browser.currentScene.createNode("ProtoInstance");<br>ProtoInstance21.name = "one";<br>let fieldValue22 = browser.currentScene.createNode("fieldValue");<br>fieldValue22.name = "myShape";<br>let Shape23 = browser.currentScene.createNode("Shape");<br>let Box24 = browser.currentScene.createNode("Box");<br>Box24.size = new SFVec3f(new float[140,140,140]);<br>Shape23.geometry = Box24;<br><br>fieldValue22.children = new MFNode();<br><br>fieldValue22.children[0] = Shape23;<br><br>ProtoInstance21.fieldValue = new MFNode();<br><br>ProtoInstance21.fieldValue[0] = fieldValue22;<br><br>browser.currentScene.children[2] = ProtoInstance21;<br><br></div></div></div>