<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">I just realized I forgot to define
shadow DOM.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">A shadow DOM is a standard DOM tree
that is not connected to the document. It exists in the document
space by it is anchored by a node that is not in the document. You
can create a shadow DOM with JavaScript, but not in declarative
HTML. The shadow DOM can be attached to the document at any time
and at any point in the DOM. When that is done, it stops being a
shadow DOM and is a branch in the document DOM. It is also
possible to attach one shadow DOM to another shadow DOM. It is not
possible to have an HTML element (tag) in both a shadow DOM and
any other DOM.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Leonard Daly<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<blockquote type="cite"
cite="mid:73394e9d-ca1b-9784-13d2-830ce9b94bcd@realism.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div class="moz-cite-prefix">On 1/31/2019 3:49 PM, John Carlson
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAGC3UE=41itGTd=7dK9bBEMkNYmVbkG4Eovk52iJ-Axo6xKUSg@mail.gmail.com">
<meta http-equiv="content-type" content="text/html;
charset=UTF-8">
<div dir="auto">As a web3d member, how much weight do I
personally have to impact the standard? I would like to see
the requirement for different ids in the scene or X3D element
in case I load a file into the page in more than one place.</div>
</blockquote>
<p><br>
</p>
<p>John,</p>
<p>Each file and PROTO define their own namescope. That means you
can Inline a file many times and not have an ID conflict (in
spec-compliant X3D). If X3D is brought into a browser with the
same functionality (using Inline as an example), then the newly
added nodes would have the same ID. While this is not fatal in
an HTML sense, it does lead to an ambiguity when using a
standard DOM call such as document.getElementById
(<id-string>).</p>
<p>There is no mechanism in X3D to rename IDs (or DEFs) to avoid
that name conflict *AND* have all nodes loaded into the DOM. If
you create a shadow DOM(*) for each external reference (Inline,
PROTO (however, that is handled), EXTERNPROTO, etc.) then there
is no problem because elements in shadow DOMs are not available
through calls like document.getElementById (<id-string>).
In those cases it would be necessary to provide the appropriate
shadow DOM root reference to replace 'document'. <br>
</p>
<p>The X3D engine would need to intercept all references to those
objects and make the appropriate change in reference. It's all
software, so it is doable; but this does break the conceptual
model of HTML where all visible elements are part of the
document.</p>
<p>Note that there is also a similar conceptual breaking for
DEF/USE. HTML elements only have a single parent. That means
something that is USEd from someplace else, must be a full copy
of the source. It is possible to create a 'redirect' element
that in the DOM references the DEF element so the scene graph
(which is typically separate from the DOM data structure) is
done in the X3D manner.</p>
<p><br>
</p>
<p>Leonard Daly<br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
<blockquote type="cite"
cite="mid:CAGC3UE=41itGTd=7dK9bBEMkNYmVbkG4Eovk52iJ-Axo6xKUSg@mail.gmail.com">
<div dir="auto"><br>
</div>
<div dir="auto">The main requirement for this comes from
scripting...how to access the right field if it’s loaded more
than once.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Which may be a good reason not to support fields
in Scripts or Scripts at all.</div>
<div dir="auto"><br>
</div>
<div dir="auto">John</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
x3d-public mailing list
<a class="moz-txt-link-abbreviated" href="mailto:x3d-public@web3d.org" moz-do-not-send="true">x3d-public@web3d.org</a>
<a class="moz-txt-link-freetext" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" moz-do-not-send="true">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
</pre>
</blockquote>
<p><br>
</p>
<div class="moz-signature">-- <br>
<font class="tahoma,arial,helvetica san serif" color="#333366">
<font size="+1"><b>Leonard Daly</b></font><br>
3D Systems & Cloud Consultant<br>
LA ACM SIGGRAPH Past Chair<br>
President, Daly Realism - <i>Creating the Future</i> </font></div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
x3d-public mailing list
<a class="moz-txt-link-abbreviated" href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>
<a class="moz-txt-link-freetext" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
</pre>
</blockquote>
<p><br>
</p>
<div class="moz-signature">-- <br>
<font class="tahoma,arial,helvetica san serif" color="#333366">
<font size="+1"><b>Leonard Daly</b></font><br>
3D Systems & Cloud Consultant<br>
LA ACM SIGGRAPH Past Chair<br>
President, Daly Realism - <i>Creating the Future</i>
</font></div>
</body>
</html>