<p dir="ltr">I am working on adding DOM access to inline scenes for my Cobweb DOM bridge:</p>
<p dir="ltr"><a href="https://andreasplesch.github.io/cobweb_dom/tests/inline_in_inline.xhtml">https://andreasplesch.github.io/cobweb_dom/tests/inline_in_inline.xhtml</a></p>
<p dir="ltr">The idea is to add the external inline scene DOMs to the main scene DOM as children of the Inline elements. Once added, the mutation observer picks up modifications of these children and does not need to do anything other than it already does for the main scene.</p>
<p dir="ltr">It works well although I do not know how web browsers deal with large combined DOMs. Also, a small addition to Cobweb.js is currently needed.</p>
<p dir="ltr">One effect is that one can use CSS selectors with querySelector to drill down to specific elements in inline scenes, even through hierarchies of inlined inlines. See example. This way the DEF names can be used even if they are identical across scenes. X3D semantics and functioning is not affected.</p>
<p dir="ltr">X3dom uses a different approach of prefixes to id/DEF attributes to enable access to elements in inlines. Not sure if x3dom could use instead or in addition Selectors ? This would require adding the Inline DOMs to the main DOM but perhaps this is already almost done ?</p>
<p dir="ltr">So I am considering also adding the same option of a namespacename prefix to element IDs but the effort would be really for compatibility. Thinking about it, while possible probably not a priority unless there is a compelling use case.</p>
<p dir="ltr">X3D has EXPORT/IMPORT to deal with accessing nodes in inlines. I think the SAI equivalent is roughly that all nodes are EXPORTed by default and that in addition to a DEF name it becomes possible to address a node by its path in the scene hierarchy. Perhaps something to consider for the standard: X3D selectors.</p>
<p dir="ltr">Andreas</p>