<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>