<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<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">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>