<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:"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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
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;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";
        color:black;}
.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>Yes, they do now!</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Now I have to fix my X3DOM examples to use MFStrings.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</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:holger.seelig@googlemail.com">Holger Seelig</a><br><b>Sent: </b>Sunday, June 2, 2019 2:49 AM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><br><b>Subject: </b>Re: [x3d-public] jupyter notebook; X3DOM syntax forincludingX3DwithinHTML</p></div><p class=MsoNormal><o:p> </o:p></p><p>The are some issues with the example. To get it work first include the latest version of X_ITE AND x_ite_dom!</p><p><tt><span style='font-size:10.0pt'><link rel="stylesheet" type="text/css" href=<a href="https://code.create3000.de/x_ite/4.5.3/dist/x_ite.css">"https://code.create3000.de/x_ite/4.5.3/dist/x_ite.css"</a>/></span></tt><span style='font-size:10.0pt;font-family:"Courier New"'><br><tt><script type="text/javascript" src=<a href="https://code.create3000.de/x_ite/4.5.3/dist/x_ite.min.js">"https://code.create3000.de/x_ite/4.5.3/dist/x_ite.min.js"</a>></script></tt><br><tt><script type="text/javascript" src=<a href="https://raw.githack.com/andreasplesch/x_ite_dom/master/release/x_ite_dom.1.1.js">"https://raw.githack.com/andreasplesch/x_ite_dom/master/release/x_ite_dom.1.1.js"</a>></script></tt></span></p><p>The second issue is, that the url of the Inline node must be wrapped in double quotes AND single quotes because it is an MFString field:</p><p><tt><span style='font-size:10.0pt'><Inline url='"ArchHalf.x3d"'></Inline></span></tt></p><p>Then the example should work.</p><p>Best regards,<br>Holger</p><p><o:p> </o:p></p><div><p class=MsoNormal><span style='color:black'>On 02.06.19 07:42, John Carlson wrote:<o:p></o:p></span></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal><span style='color:black'>Someone can try modifying this example:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'><a href="https://coderextreme.net/X3DJSONLD/src/main/html/x_iteexamples3.html">https://coderextreme.net/X3DJSONLD/src/main/html/x_iteexamples3.html</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>It appears that Inlines don’t work with JSON or XML in  X_ITE?  I’m missing the main scene or something?<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>I can make it work with src on the X3DCanvas tag.  What matters now is can we make it work like we want.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>FYI,<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>John<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><b><span style='color:black'>From: </span></b><span style='color:black'><a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Sent: </b>Sunday, June 2, 2019 12:00 AM<br><b>To: </b><a href="mailto:brutzman@nps.edu">Brutzman, Donald (Don) (CIV)</a>; <a href="mailto:andreasplesch@gmail.com">Andreas Plesch</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>RE: [x3d-public] jupyter notebook; X3DOM syntax for includingX3Dwithin HTML<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>See variety of inputs into web page (X_ITE and X3DOM) here:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'><a href="https://coderextreme.net/X3DJSONLD/src/main/html/index.html">https://coderextreme.net/X3DJSONLD/src/main/html/index.html</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>I believe I either use XML or DOM to get the JSON or XML scene into the page, even though on the surface, I may be working with JSON.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Excerpt for XML:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>    <X3D xmlns:xsd=<a href="http://www.w3.org/2001/XMLSchema-instance">"http://www.w3.org/2001/XMLSchema-instance"</a> profile="Immersive" version="3.3" xsd:noNamespaceSchemaLocation=<a href="http://www.web3d.org/specifications/x3d-3.3.xsd">"http://www.web3d.org/specifications/x3d-3.3.xsd"</a> showProgress="false" showStat='false' showLog='false' width='150px' height='75px' backend='webgl'><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                <Scene id="x3domxml"><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                </Scene><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>    </X3D><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>    <X3DCanvas id='x_itexml' cache='false'><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>           <p>Your browser may not support all features required by X_ITE!</p><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>           <X3D><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>           <Scene><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>           </Scene><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>           </X3D><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>    </X3DCanvas><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>============================================================================================================<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>function load_X_ITE_XML(content, selector) {<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>        X3D(function() {<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                var browser = X3D.getBrowser(selector);<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                browser.replaceWorld(browser.createX3DFromString(content));<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>        }, function() {<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                alert("Failed to render XML to X_ITE");<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>        });<o:p></o:p></span></p><div style='border:none;border-bottom:double windowtext 2.25pt;padding:0in 0in 1.0pt 0in'><p class=MsoNormal><span style='color:black'>}<o:p></o:p></span></p></div><p class=MsoNormal><span style='color:black'>/** for X3DOM **/<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                     var doc = document.querySelector(selector);<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                        if (doc.hasRuntime && doc.runtime.ready) {<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                                try {<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                                        doc.runtime.replaceWorld(element);<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                                } catch (e) {<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                                        alert(e);<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                                        console.error(e);<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                                }<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                        }<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>So it appears possible to load X3D via JavaScript (not an Inline, but follow me).<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>It would be instructive to create an equivalent mechanism via inlines.  I believe this has been shown:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'><a href="https://coderextreme.net/X3DJSONLD/src/main/html/x_iteexamples.html">https://coderextreme.net/X3DJSONLD/src/main/html/x_iteexamples.html</a> (note missing X3D element, hmm)<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'><a href="https://coderextreme.net/X3DJSONLD/src/main/html/x3domexamples3.html">https://coderextreme.net/X3DJSONLD/src/main/html/x3domexamples3.html</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'><br>If you like, you may show the equivalent for XML (It would be best to try with VRML as well, I haven’t done that).<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Enjoy!  Wow, feels good working together folks!<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>It would be problematic to use both X_ITE and X3DOM if X_ITE on the same page if you relied only on X3D nodes like X3DOM does.   It would be hard to distinguish which browser to use if only X3D tags are used.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Perhaps we need an official X3D tag implementation that can forward to either X3DOM or X_ITE based on an attribute?<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>John<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='color:black'>From: </span></b><span style='color:black'><a href="mailto:brutzman@nps.edu">Brutzman, Donald (Don) (CIV)</a><br><b>Sent: </b>Saturday, June 1, 2019 11:23 PM<br><b>To: </b><a href="mailto:andreasplesch@gmail.com">Andreas Plesch</a>; <a href="mailto:yottzumm@gmail.com">John Carlson</a><br><b>Cc: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>Re: [x3d-public] jupyter notebook; X3DOM syntax for including X3Dwithin HTML<o:p></o:p></span></p></div><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Thanks for continuing scrutiny, this issue is quite important for X3Dv4 specification efforts.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>I think an earlier version of X_ITE used regular X3D elements without problem - not sure, that was some time ago.  Hard to tell now since the online .html examples all seem to use <X3DCanvas src="somesuch"><!-- fallback --></X3DCanvas><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>I spot-checked a few of the examples, am seeing same X3DCanvas pattern at<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'><a href="http://create3000.de/x_ite/getting-started/#x3d-examples">http://create3000.de/x_ite/getting-started/#x3d-examples</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Perhaps X3DOM is avoiding direct inclusion and parsing of .x3d source for same reason?<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Looks like you've worked on this in X_ITE already Andreas<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>* <a href="http://create3000.de/x_ite/getting-started/#xhtml-dom-integration">http://create3000.de/x_ite/getting-started/#xhtml-dom-integration</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>* <a href="http://create3000.de/x_ite/xhtml-dom-integration/">http://create3000.de/x_ite/xhtml-dom-integration/</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>* <a href="http://create3000.de/x_ite/xhtml-dom-integration/#example">http://create3000.de/x_ite/xhtml-dom-integration/#example</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>* <a href="http://media.create3000.de/create3000/dom-integration/dom.integration.xhtml">http://media.create3000.de/create3000/dom-integration/dom.integration.xhtml</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>excerpt:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                <body><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                                <X3DCanvas class="browser" timings="false"><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                                                <img class="fallback" src="XHTML.png"/><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                                                <X3D xmlns=<a href="http://www.web3d.org/specifications/x3d-namespace">"http://www.web3d.org/specifications/x3d-namespace"</a> id="spheres"><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                                                                <Scene DEF='scene'><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Wondering if you had tried a .html version of that preceding file, and what any difficulties might have been?<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Wondering why you have a DEF on the <Scene> ?  If applying HTML events, presumably it could be an id="scene" reference instead.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>SVG recommendation allows singleton elements in fragments within HTML, also seems to sometimes use namespaces and sometimes not.  Also SVG appears to have at least 2 lowerCamelCase elements, clipPath and foreignObject, plus a large number of lowerCamelCase attributes - so not every element/attribute has to be all lower case.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                Scalable Vector Graphics (SVG) 2<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                W3C Candidate Recommendation 04 October 2018<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                Chapter 5: Document Structure<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>                <a href="https://www.w3.org/TR/SVG2/struct.html">https://www.w3.org/TR/SVG2/struct.html</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Also wondering if you folks think that the <X3DCanvas src=""/> pattern from X_ITE is something we should repeat for X3DOM.  Seems like a good fallback that supports multiple X3D encodings.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>I recommend that we try to pursue every possibility that might allow inclusion of .x3d (XML valid) models "as is" within the HTML page.  Certainly the fact that they work when relabeled as an XHTML page shows that it is possible.  SVG also provides corrolary evidence that it is possible.  If we force a special conversion of all X3D models used in HTML, then<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>- that has a huge impact on the number of just-slightly-different scenes that get created,<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>- it greatly complicates validation, and<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>- it also is a huge negative when trying to edit/test/apply improvements to a model when the deployed version has unnecessarily different syntax from the original version.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>As far as jupyter goes, since that notebook supports python and a wide variety of embedded languages I expect that we will be able to align satisfactorily as this work proceeds - you've made great progress already.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Onward...<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>On 5/31/2019 5:56 PM, Andreas Plesch wrote:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> Well, if it was xhtml we were talking about you would be correct.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> But, it is html without the x which is expected by the HTML renderer<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> in Jupyter. There is no XHTML renderer since the Jupyter notebook<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> itself is a HTML document.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> And html allows singleton tags only for certain tags, at least in how<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> all browser parse the markup, and probably also as defined in the<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> HTML5 spec. These certain tags may include all known HTML elements<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> which do not use their text content. Unfortunately, the X3D tags are<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> considered Unknown Elements by html and they seem to require the<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> explicit end tag.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> x3dom does not use any HTML parsing libraries but completely relies on<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> the web browser to do the parsing. And the browsers get confused,<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> because they do not understand the singleton x3d tags in a html<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> document.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> Alas, if the xml serializing library in X3DJSAIL does not have an<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> option to generate full tags (they would be still legal XML, no?), we<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> would need to settle for xhtml IFrames which can also be included in a<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> Jupyter notebook (but not tested yet), or, as another option, wrap the<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> xml X3D into an Inline since x3dom always uses the browser XML parser<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> for Inlines. Would x3d.toStringX3DInline(filename) be considered too<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> extravagant ? It would generate an xml X3D document string with a<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> single Inline node, and also the content X3D in the file filename.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> x3d.toFileX3DInline(x3dFileName, inlineFileName) would generate two<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> files.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> Perhaps Python has an option to serialize out the full tags, perhaps<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> as HTMLFragments. Then a x3d.toStringFullTags() could be included<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> outside of X3DJSAIL, and with X3DPSAIL.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> To consider X_ITE and x3dom together it would be first necessary get<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> X_ITE to work at all with Jupyter locally generated content. It may be<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> possible since X_ITE works with remote URLs in Jupyter.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> -Andreas<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> ---on the phone---<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> On Fri, May 31, 2019, 5:14 PM <<a href="mailto:x3d-public-request@web3d.org">x3d-public-request@web3d.org</a> wrote:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Send x3d-public mailing list submissions to<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>          <a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> To subscribe or unsubscribe via the World Wide Web, visit<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>          <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> or, via email, send a message with subject or body 'help' to<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>          <a href="mailto:x3d-public-request@web3d.org">x3d-public-request@web3d.org</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> You can reach the person managing the list at<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>          <a href="mailto:x3d-public-owner@web3d.org">x3d-public-owner@web3d.org</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> When replying, please edit your Subject line so it is more specific<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> than "Re: Contents of x3d-public digest..."<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Today's Topics:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>     1. Re: jupyter notebook; X3DOM syntax for including X3D within<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>        HTML/XHTML (Brutzman, Donald (Don) (CIV))<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> ----------------------------------------------------------------------<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Message: 1<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Date: Fri, 31 May 2019 10:14:05 +0000<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> From: "Brutzman, Donald (Don) (CIV)" <a href="mailto:brutzman@nps.edu"><brutzman@nps.edu></a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> To: <a href="mailto:x3d-public@web3d.org">"x3d-public@web3d.org"</a> <a href="mailto:x3d-public@web3d.org"><x3d-public@web3d.org></a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Subject: Re: [x3d-public] jupyter notebook; X3DOM syntax for including<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>          X3D within HTML/XHTML<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Message-ID: <a href="mailto:b6c49fa9-6afc-34fe-ee57-59f0ad5fc99d@nps.edu"><b6c49fa9-6afc-34fe-ee57-59f0ad5fc99d@nps.edu></a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Content-Type: text/plain; charset="utf-8"<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> thanks for great progress.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> On 5/28/2019 12:12 PM, Andreas Plesch wrote:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>> - x3dom has a problem with generated X3D outside of an Inline because<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>> the serialized XML output uses self-closing tags such as <Material /><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>> which is not HTML compatible.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> HTML allows singleton elements, i.e. self-closing tags.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Similarly, element CamelCaseElementNames are legal, so we should not have to rename <Material/> to <material></material> simply because of similarity to another language's naming patterns.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> i think root of this problem likely lies in how X3DOM uses the accompanying DOM libraries - not sure of those details.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Note that I got *all* of the X_ITE and X3DOM examples to work with HTML by assigning scenes to .html and .xhtml respectively.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <a href="http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples">http://www.web3d.org/x3d/content/examples/X3dResources.html#Examples</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <a href="http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorldIndex.html">http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorldIndex.html</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <a href="http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorldX3dom.xhtml">http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorldX3dom.xhtml</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <a href="http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorldX_ITE.html">http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter01TechnicalOverview/HelloWorldX_ITE.html</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>> So the suggestion would be to provide a method, say<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>> x3d.toStringX3DClosingTags(), which generates explicit closing tags:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>> <Material></Material><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> I don't think it is good to propagate a side-effect fix (which encourages mysterious improper practices and hides path towards fixes).<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Rather it is more desirable to isolate and fix the actual problem.  If someone can figure out why X3DOM runs differently when included within .xhtml and .html pages, that may reveal whatever idiosyncrasy is actually occurring.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Finally we want to match the same patterns in X_ITE and X3DOM so that choice of player is independent of source-model syntax when using X3D version 4.  So this is a worthy mismatch to figure out and fix.  Hopefully we can get closer to sorting things out fully.<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Meanwhile: found and fixed several errors in online X3DOM .xhtml examples:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> - corrected url to match changed release address:<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>     <a href="https://x3dom.org/release/x3dom.css">https://x3dom.org/release/x3dom.css</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>     <a href="https://x3dom.org/release/x3dom-full.js">https://x3dom.org/release/x3dom-full.js</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> - fixed bug in X3dToX3dom.xslt code logic in order to include function toggleFullscreen ()<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> - using XHTML Transitional (vice Strict) DTD in order for anchor target attribute to pass validation<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>>     <a href="https://stackoverflow.com/questions/4666523/xhtml-strict-1-0-target-blank-not-valid">https://stackoverflow.com/questions/4666523/xhtml-strict-1-0-target-blank-not-valid</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> X3dToX3dom.xslt stylesheet correction checked in, X3DOM example pages updated and uploaded.  Having fun with X3DOM!  8)<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> all the best, Don<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> --<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman">http://faculty.nps.edu/brutzman</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> ------------------------------<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> Subject: Digest Footer<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> _______________________________________________<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> x3d-public mailing list<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> ------------------------------<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> End of x3d-public Digest, Vol 122, Issue 137<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>>> ********************************************<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> _______________________________________________<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> x3d-public mailing list<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>all the best, Don<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>-- <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Don Brutzman  Naval Postgraduate School, Code USW/Br       <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149<o:p></o:p></span></p><p class=MsoNormal><span style='color:black'>X3D graphics, virtual worlds, navy robotics <a href="http://faculty.nps.edu/brutzman">http://faculty.nps.edu/brutzman</a><o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'> <o:p></o:p></span></p><p class=MsoNormal><span style='color:black'><br><br><o:p></o:p></span></p><pre>_______________________________________________</pre><pre>x3d-public mailing list</pre><pre><a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a></pre><pre><a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></pre></blockquote><pre>-- </pre><pre>Holger Seelig</pre><pre>Digital Media Designer</pre><pre><o:p> </o:p></pre><pre>Scheffelstraße 31a</pre><pre>04277 Leipzig</pre><pre>Germany</pre><pre><o:p> </o:p></pre><pre>Cellular: +49 176 420 479 37</pre><pre>E-Mail:   holger.seelig at create3000.de</pre><pre>Web:      <a href="http://create3000.de">http://create3000.de</a></pre><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";color:black'><o:p> </o:p></span></p></div></body></html>