<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 12/15/2015 3:54 AM, Don Brutzman
      wrote:<br>
    </div>
    <blockquote cite="mid:566FFF5A.9010803@nps.edu" type="cite">containerField
      describes a node's relationship to its parents.  The default
      values are typically not needed by authors or generators.
      <br>
    </blockquote>
    <br>
    Do you mean "... typically sufficient for authors or generators"? If
    not, I do not understand the above statement. Can you please
    clarify?<br>
    <br>
    <br>
    <blockquote cite="mid:566FFF5A.9010803@nps.edu" type="cite">
      <br>
      Debate on this topic was a lengthy effort a long time ago. Wrapper
      tags only simplify rare occurrences,such as Collision node
      children, distinguishing between a 'proxy' Shape and 'children'
      Shape nodes.
      <br>
    </blockquote>
    <br>
    There is also the need for 'containerField' with MetadataSet. It is
    used in the X3D resources at
    <a class="moz-txt-link-freetext" href="http://www.web3d.org/x3d/content/examples/Basic/development/_pages/page39.html">http://www.web3d.org/x3d/content/examples/Basic/development/_pages/page39.html</a>
(<a class="moz-txt-link-freetext" href="http://www.web3d.org/x3d/content/examples/Basic/development/MetadataExamples.html">http://www.web3d.org/x3d/content/examples/Basic/development/MetadataExamples.html</a>).<br>
    <br>
    For those few cases when a 'containerField' is required, is it
    reasonable to define wrapper tags. That way 'containerField' could
    be eliminated (deprecated). Many people I talk to are confused how
    to properly use 'containerField' or know when it is required. Using
    wrapper tags for the rare cases when it is needed will address most
    of the concerns listed on the page below while making the structure
    of the X3D field easier to understand.<br>
    <br>
    <br>
    Leonard Daly<br>
    <br>
    <br>
    <blockquote cite="mid:566FFF5A.9010803@nps.edu" type="cite">
      <br>
      Extensive reasons against wrapper tags in the XML encoding can be
      found in
      <br>
<a class="moz-txt-link-freetext" href="http://www.web3d.org/x3d/content/examples/Basic/development/WrapperTagsConsideredHarmful.html">http://www.web3d.org/x3d/content/examples/Basic/development/WrapperTagsConsideredHarmful.html</a>
      <br>
      <br>
      As a result we have a much terser XML encoding with corresponding
      reductions in file size, transfer times and scene loading.
      <br>
      <br>
      Meanwhile, the developmental JSON encoding currently uses the
      field names directly, similar to the manner that you describe. 
      Also seems to parse OK.
      <br>
      <br>
      I think this illustrates the difference between a
      document-oriented encoding like XML and an object-oriented
      encoding like JSON.
      <br>
      <br>
      <br>
      On 12/14/2015 1:06 PM, Leonard Daly wrote:
      <br>
      <blockquote type="cite">A long (Internet-) time ago, the X3D
        Working Group came up with the idea of containerField to
        indicate which child element belonged to which parent field.
        This only really applies when an X3D node has fields that can be
        nodes. E.g., Transform can have 'children' to define geometry
        and appearance and metadata to define metadata. Most of the time
        the relationship is obvious, especially when a field can can
        only contain one type of node.
        <br>
        <br>
        In all of the XML I have seen for many other applications
        (documents, books, medical records, government records, etc.) do
        not use that sort of structure. Everything is put into explicit
        child nodes. That would mean something like Transform would be:
        <br>
        <br>
        <Transform ...>
        <br>
             <children>
        <br>
                 <Shape>...</Shape>
        <br>
                 <Shape>...</Shape>
        <br>
                 <Shape>...</Shape>
        <br>
             </children>
        <br>
             <metadata>
        <br>
                 <MetadataString ... />
        <br>
                 <MetadataFloat ... />
        <br>
                 <MetadataInteger ... />
        <br>
                 <MetadataString ... />
        <br>
                 <MetadataString ... />
        <br>
             </metadata>
        <br>
        </Transform>
        <br>
        <br>
        This completely eliminate the ambiguity of use without a
        containerfield with the expense of adding in an extra layer for
        every use. I think this format is easier to read and certainly
        parses easier in standard parsers that come with PHP and Perl.
        <br>
        <br>
        Do other people have any thoughts on this?
        <br>
        <br>
        --
        <br>
        *Leonard Daly*
        <br>
        3D Systems & Cloud Consultant
        <br>
        X3D Co-Chair on Sabbatical
        <br>
        LA ACM SIGGRAPH Chair
        <br>
        President, Daly Realism - /Creating the Future/
        <br>
      </blockquote>
      <br>
      all the best, Don
      <br>
    </blockquote>
    <br>
    <br>
    <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>
        X3D Co-Chair on Sabbatical<br>
        LA ACM SIGGRAPH Chair<br>
        President, Daly Realism - <i>Creating the Future</i>
      </font></div>
  </body>
</html>