<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Roy did a very detailed analysis of
      statement location. <br>
      <br>
      I think that any discussion of IMPORT / EXPORT statements may be
      premature until it is figured out how files and their nodes will
      be inlined in HTML. There is a single namespace and namescope in
      HTML causing the following issues when X3D is integrated with DOM:<br>
      <br>
      1) All nodes are available to all other nodes at all times<br>
      2) IMPORT does not have any meaning <br>
      3) EXPORT does not have any meaning<br>
      4) Uncertain how to handle a file that gets Inlined more than once
      since all DEF and ID from the Inline will be duplicated<br>
      <br>
      Possible solutions are:<br>
      A) Do not put the contents of any Inline into the DOM<br>
      B) Do not put the contents of any X3D file into the DOM<br>
      C) Modify the DEF & ID values on each Inline so they are
      unique<br>
      <br>
      (A) has the potential problem of completely hiding all of the
      interior nodes and making it unavailable. In this case IMPORT and
      EXPORT can be defined to make sense by providing access to those
      fields. Unfortunately this breaks a different goal of full DOM
      integration.<br>
      <br>
      (B) This is like (1), but more extreme. It essentially makes X3D
      plugin-like in that there is complete separation between DOM and
      X3D.<br>
      <br>
      There is a variant on (A)/(B) where only certain (developer
      controllable) Inline contents are loaded into the DOM. This
      partially breaks the goal of DOM integration and still leaves the
      problem of keeping DEF/ID values unique (C)<br>
      <br>
      (C) This solution creates a virtual namescope in that the DEF/ID
      values are modified so that they are unique within the parent DOM.
      This is potentially tricky since these values can be
      programmatically assembled. It might be possible to make all of
      the necessary modifications to the nodes in the Inline file, but
      unsolvable (or close to it) to change other code in either the
      parent or other Inline nodes that may cross-refer to those values.<br>
      <br>
      <br>
    </div>
    <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 Chair<br>
        President, Daly Realism - <i>Creating the Future</i>
      </font></div>
  </body>
</html>