<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi Don,<br>
      <br>
      just a few comments from my side (and my experience having written
      some X3D parsers / toolkits):<br>
      <br>
      JSON is actually kind of similar to the VRML syntax, with some
      advantages (it needs less context to parse). The common feature of
      JSON and VRML -- despite the optical similarities -- is to define
      multiple named array entries that can in turn contain structured
      content (often called "containers"). XML encoding has only _one_
      container for child elements (called "children" in the API). That
      is what X3D in XML always suffered from: X3D requires an
      additional attribute to specify the container. This concept is
      well hidden using default values, but requires the XSD (i.e.
      context). And it suddenly pops up, once a user is dealing with the
      most underestimated concept of X3D: Prototypes. <br>
      <br>
      So I wonder why to (re-)import this flaw to JSON? Why not
      something like:<br>
      <br>
      <span class="sBrace structure-1" id="s-1" style="padding: 0px;
        margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(102, 102, 102); cursor: pointer; letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">{</span><br
        style="color: rgb(0, 0, 0); font-family: 'andale mono', 'lucida
        console', Courier, 'Courier New', monospace; font-size: 12px;
        font-style: normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: 18.001798629760742px;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        class="sObjectK" id="s-2" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: bold; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(54, 57, 59);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">"type"</span><span class="sColon" id="s-3" style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(51, 51, 51); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">:</span><span class="sObjectV"
        id="s-4" style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">"Group"</span><span
        class="sComma" id="s-5" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(51, 51, 51);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">,</span><br style="color: rgb(0, 0, 0); font-family:
        'andale mono', 'lucida console', Courier, 'Courier New',
        monospace; font-size: 12px; font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: 18.001798629760742px; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        class="sObjectK" id="s-6" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: bold; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(54, 57, 59);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">"children"</span><span class="sColon" id="s-7"
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(51, 51, 51); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">:</span><span class="sBracket
        structure-2" id="s-8" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(102, 102,
        102); cursor: pointer; letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">[</span><br style="color:
        rgb(0, 0, 0); font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-size: 12px; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: 18.001798629760742px;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span class="sBrace
        structure-3" id="s-9" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(102, 102,
        102); cursor: pointer; letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">{</span><br style="color:
        rgb(0, 0, 0); font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-size: 12px; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: 18.001798629760742px;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span
        class="sObjectK" id="s-10" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: bold; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(54, 57, 59);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">"type"</span><span class="sColon" id="s-11"
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(51, 51, 51); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">:</span><span class="sObjectV"
        id="s-12" style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">"Shape"</span><span
        class="sComma" id="s-13" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(51, 51, 51);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">,</span><br style="color: rgb(0, 0, 0); font-family:
        'andale mono', 'lucida console', Courier, 'Courier New',
        monospace; font-size: 12px; font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: 18.001798629760742px; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span
        class="sObjectK" id="s-14" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: bold; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(54, 57, 59);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">"appearance"</span><span class="sColon" id="s-15"
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(51, 51, 51); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">:</span><span class="sBrace
        structure-4" id="s-16" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(102, 102,
        102); cursor: pointer; letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">{</span><br style="color:
        rgb(0, 0, 0); font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-size: 12px; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: 18.001798629760742px;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span
        class="sObjectK" id="s-17" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: bold; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(54, 57, 59);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">"type"</span><span class="sColon" id="s-18"
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(51, 51, 51); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">:</span><span class="sObjectV"
        id="s-19" style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">"Material"</span><span
        class="sComma" id="s-20" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(51, 51, 51);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">,</span><br style="color: rgb(0, 0, 0); font-family:
        'andale mono', 'lucida console', Courier, 'Courier New',
        monospace; font-size: 12px; font-style: normal; font-variant:
        normal; font-weight: normal; letter-spacing: normal;
        line-height: 18.001798629760742px; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span
        class="sObjectK" id="s-21" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: bold; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(54, 57, 59);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">"diffuseColor"</span><span class="sColon" id="s-22"
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(51, 51, 51); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">:</span><span class="sBracket
        structure-5" id="s-23" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(102, 102,
        102); cursor: pointer; letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">[</span><span class="sArrayV"
        id="s-24" style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">0.1</span><span
        class="sComma" id="s-25" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(51, 51, 51);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">,</span><span class="sArrayV" id="s-26" style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">0.5</span><span class="sComma"
        id="s-27" style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(51, 51, 51); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">,</span><span
        class="sArrayV" id="s-28" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(0, 0, 0);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">1</span><span class="sBracket structure-5" id="s-29"
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(102, 102, 102); cursor: pointer; letter-spacing:
        normal; orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">]</span><br
        style="color: rgb(0, 0, 0); font-family: 'andale mono', 'lucida
        console', Courier, 'Courier New', monospace; font-size: 12px;
        font-style: normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: 18.001798629760742px;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span class="sBrace
        structure-4" id="s-30" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(102, 102,
        102); cursor: pointer; letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">}</span><span class="sComma"
        id="s-31" style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(51, 51, 51); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">,</span><br
        style="color: rgb(0, 0, 0); font-family: 'andale mono', 'lucida
        console', Courier, 'Courier New', monospace; font-size: 12px;
        font-style: normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: 18.001798629760742px;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span
        class="sObjectK" id="s-32" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: bold; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(54, 57, 59);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">"geometry"</span><span class="sColon" id="s-33"
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(51, 51, 51); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">:</span><span class="sBrace
        structure-4" id="s-34" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(102, 102,
        102); cursor: pointer; letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">{</span><br style="color:
        rgb(0, 0, 0); font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-size: 12px; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: 18.001798629760742px;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span
        class="sObjectK" id="s-35" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: bold; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(54, 57, 59);
        letter-spacing: normal; orphans: auto; text-align: start;
        text-indent: 0px; text-transform: none; white-space: nowrap;
        widows: auto; word-spacing: 0px; -webkit-text-stroke-width:
        0px;">"type"</span><span class="sColon" id="s-36"
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(51, 51, 51); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">:</span><span class="sObjectV"
        id="s-37" style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">"Box"</span><br
        style="color: rgb(0, 0, 0); font-family: 'andale mono', 'lucida
        console', Courier, 'Courier New', monospace; font-size: 12px;
        font-style: normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: 18.001798629760742px;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span style="padding:
        0px; margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align:
        start; text-indent: 0px; text-transform: none; white-space:
        nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span class="sBrace
        structure-4" id="s-38" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(102, 102,
        102); cursor: pointer; letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">}</span><br style="color:
        rgb(0, 0, 0); font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-size: 12px; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: 18.001798629760742px;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        style="padding: 0px; margin: 0px; font-family: 'andale mono',
        'lucida console', Courier, 'Courier New', monospace; font-style:
        normal; font-variant: normal; font-weight: normal; line-height:
        inherit; font-size: 12px; vertical-align: baseline; border: 0px;
        color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">   </span><span class="sBrace
        structure-3" id="s-39" style="padding: 0px; margin: 0px;
        font-family: 'andale mono', 'lucida console', Courier, 'Courier
        New', monospace; font-style: normal; font-variant: normal;
        font-weight: normal; line-height: inherit; font-size: 12px;
        vertical-align: baseline; border: 0px; color: rgb(102, 102,
        102); cursor: pointer; letter-spacing: normal; orphans: auto;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: nowrap; widows: auto; word-spacing: 0px;
        -webkit-text-stroke-width: 0px;">}</span><br style="color:
        rgb(0, 0, 0); font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-size: 12px; font-style:
        normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: 18.001798629760742px;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">
      <span style="padding: 0px; margin: 0px; font-family: 'andale
        mono', 'lucida console', Courier, 'Courier New', monospace;
        font-style: normal; font-variant: normal; font-weight: normal;
        line-height: inherit; font-size: 12px; vertical-align: baseline;
        border: 0px; color: rgb(0, 0, 0); letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">   </span><span
        class="sBracket structure-2" id="s-40" style="padding: 0px;
        margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(102, 102, 102); cursor: pointer; letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">]</span><br
        style="color: rgb(0, 0, 0); font-family: 'andale mono', 'lucida
        console', Courier, 'Courier New', monospace; font-size: 12px;
        font-style: normal; font-variant: normal; font-weight: normal;
        letter-spacing: normal; line-height: 18.001798629760742px;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">
      <span class="sBrace structure-1" id="s-41" style="padding: 0px;
        margin: 0px; font-family: 'andale mono', 'lucida console',
        Courier, 'Courier New', monospace; font-style: normal;
        font-variant: normal; font-weight: normal; line-height: inherit;
        font-size: 12px; vertical-align: baseline; border: 0px; color:
        rgb(102, 102, 102); cursor: pointer; letter-spacing: normal;
        orphans: auto; text-align: start; text-indent: 0px;
        text-transform: none; white-space: nowrap; widows: auto;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;">}</span><br>
      <br>
      This style would clearly expose the container names and thus also
      help users who want to use the API.<br>
      <br>
      Apart from the encoding, I wonder how useful a JSON representation
      is. From our experience, the advantages in terms of size is
      negligible compared to XML because the numbers make the main
      workload. To transfer heavy geometry and texture data, there are
      many other, more compelling alternatives (see papers from last and
      next Web3D :). <br>
      <br>
      Just my two cents :)<br>
      <br>
        Kristian<br>
      <br>
      <br>
    </div>
    <blockquote cite="mid:53BB3173.3040504@nps.edu" type="cite">Still
      hoping to hear from x3dom developers on their use of JSON and
      relevant use cases of X3D in JSON form.
      <br>
      <br>
      <blockquote type="cite">6.  Suggested discussion points for the
        X3D teleconference and future followups.
        <br>
        <br>
        a.  What are the use cases for having X3D JSON available in
        JavaScript?  It would be good to spell them out and understand
        them well.
        <br>
        b.  Is there a good/consistent way for X3DOM to utilize such
        capabilities?
        <br>
        c.  Is there a way for Three.js or other javascript libraries to
        utilize such capabilities?
        <br>
        d.  Is there a single authoritative reference for JSON itself?
        and for JSON-XML conversions?
        <br>
        e.  Compare compression of a TestMesh.x3d.json.gz to
        TestMesh.x3db and TestMesh.x3d.exi
        <br>
             (EXI will likely win because it includes data typing)
        <br>
        f.  Once a canonical form for X3D as JSON is established, add
        conversion capabilities to X3D-Edit and also autoconvert, test
        and publish JSON for all of the3800+ X3D Examples Archive scenes
        <br>
        g.  Decide if this capability needs to be defined in one of the
        X3D standards, or perhaps as an X3D best practice.
        <br>
        h.  Probably lots more... What else?
        <br>
      </blockquote>
      <br>
      More information on JSON <==> XML follows.
      <br>
      <br>
=====================================================================
      <br>
      <br>
      Don McGregor (who has translated the DIS protocol to JSON) reports
      the following ECMA standard for JSON.
      <br>
      <br>
      <a class="moz-txt-link-freetext" href="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf">http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf</a> 
      (14 pages)
      <br>
      <br>
      It does not mention XML, and therefore does not address the
      potential use of - or @ (or whatever) characters to distinguish
      child JSON fields as elements or attributes. Absent any other
      specifications, this would seem to provide rationale for our
      defining an official JSON encoding for X3D.
      <br>
      <br>
      The following commercial posting discusses this issue a little:
      <br>
          XSLT and XPath for JSON
      <br>
          By Mark Joseph - May 6, 2008
      <br>
    <a class="moz-txt-link-freetext" href="https://www.p6r.com/articles/2008/05/06/xslt-and-xpath-for-json">https://www.p6r.com/articles/2008/05/06/xslt-and-xpath-for-json</a>
      <br>
      <br>
=====================================================================
      <br>
      <br>
      The following reference from json.org is also interesting:
      <br>
      <br>
          JsonML.org
      <br>
          JSON Markup Language (JsonML)
      <br>
      <br>
      <blockquote type="cite">JsonML (JSON Markup Language) is an
        application of the JSON (JavaScript Object Notation) format. The
        purpose of JsonML is to provide a compact format for
        transporting XML-based markup as JSON which allows it to be
        losslessly converted back to its original form.
        <br>
        <br>
        Native XML/XHTML doesn't sit well embedded in JavaScript. When
        XHTML is stored in script it must be properly encoded as an
        opaque string. JsonML allows easy manipulation of the markup in
        script before completely rehydrating back to the original form.
        <br>
      </blockquote>
      <br>
      This site also includes the following syntax definition for
      lossless round-trip conversion:
      <br>
      <br>
          <a class="moz-txt-link-freetext" href="http://www.jsonml.org/syntax">http://www.jsonml.org/syntax</a>
      <br>
      <br>
      <blockquote type="cite">Syntax Reasoning
        <br>
        <br>
        JsonML was designed for lossless roundtrip conversion between
        XML and JSON and to handle "mixed-mode content" (i.e., textual
        data outside of or next to elements). Key considerations were
        lossless two-way conversion and compactness of form. JsonML
        handles namespaces in the same way that XML 1.0 does: attributes
        for xmlns and tag names with colons.
        <br>
        <br>
        JsonML was never intended to be the way that everything that
        could be expressed in XML should be expressed in JSON. JsonML is
        the only transformation which can safely encode "mixed-mode"
        content in XML, which is a key characteristic in a markup
        language such as XHTML. Many other transformations exist for
        representing XML in a JSON format.
        <br>
        <br>
        Grammar (BNF)
        <br>
        <br>
        The following grammar represents how XML-based markup (e.g.
        XHTML) is encoded into JsonML. As per JSON, whitespace is
        permitted between tokens.
        <br>
        [...]
        <br>
      </blockquote>
      <br>
=====================================================================
      <br>
      <br>
      all the best, Don
      <br>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
_______________________________________________________________________________

Kristian Sons
Deutsches Forschungszentrum für Künstliche Intelligenz GmbH, DFKI
Agenten und Simulierte Realität
Campus, Geb. D 3 2, Raum 0.77
66123 Saarbrücken, Germany

Phone: +49 681 85775-3833
Phone: +49 681 302-3833
Fax:   +49 681 85775–2235
<a class="moz-txt-link-abbreviated" href="mailto:kristian.sons@dfki.de">kristian.sons@dfki.de</a>
<a class="moz-txt-link-freetext" href="http://www.xml3d.org">http://www.xml3d.org</a>

Geschäftsführung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vorsitzender)
Dr. Walter Olthoff

Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
_______________________________________________________________________________</pre>
  </body>
</html>