<div dir="auto">This is well researched now.   This is a summary.</div><div dir="auto"><br></div><div dir="auto">HAnimMotion channels field in XML schema does  not match current X3D4 specification.  The schema should probably be changed to match the standard.  I don’t think there’s any need for MFString.</div><div dir="auto"><br></div><div dir="auto">See below.  Sorry for duplicate.</div><div dir="auto"><br></div><div dir="auto">John</div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>I see in the X3D JSON schema that:</div><div><br></div><div><div>            "@channels": {</div><div>              "$comment": "<font color="#ff0000">MFString </font>inputOutput",</div><div>              "type": "array",</div><div>              "items": {</div><div>                "type": "string"</div><div>              }</div><div>            },</div></div><div><br></div><div>Says it's an MFString.  Let's look in X3DUOM. Here's the kicker, X3DUOM doesn't agree with X3D4, from my reading, but I am old.</div><div><br></div><div><div>      <ConcreteNode name="HAnimMotion"></div><div>         <InterfaceDefinition specificationUrl="<a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimMotion" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimMotion</a>"</div><div>                               appinfo="An HAnimMotion node supports discrete frame-by-frame playback for H-Anim motion data animation."></div><div>            <componentInfo name="HAnim" level="2"/></div><div>            <Inheritance baseType="X3DChildNode"/></div><div>            <field name="channels"</div><div>                    type="<font color="#ff0000">MFString</font>"</div><div>                    accessType="inputOutput"</div><div>                    description="list of number of channels for transformation, followed by transformation type of each channel of data."/></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote><div dir="auto"><br></div><div dir="auto">Here’s XML Schema:</div><div dir="auto"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div dir="auto"></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div><br></div><div>        <xs:element name="HAnimMotion"><br></div><div>[ snip for readability ]</div><div><div>                <xs:complexType></div><div>                        <xs:complexContent></div><div>                                <xs:extension base="X3DChildNode"></div><div>                                        <xs:attribute name="channels" type="<font color="#ff0000">MFString</font>"/></div></div><div><br></div><div>So X3DUOM agrees with the XML schema, which agrees with the X3D JSON schema.</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote><div dir="auto"><br></div><div dir="auto">But here’s the current standard:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="auto"></div><div><br></div><div><br></div><div><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimMotion" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/hanim.html#HAnimMotion</a><br></div><div><br></div><div> </div><h2 style="font-size:20.8px;margin-top:18px;color:rgb(0,0,0);font-family:Verdana,Arial,Helvetica,sans-serif">26.3.4 HAnimMotion</h2><pre style="font-size:11.05px;margin-left:25px" dir="auto"><span style="color:rgb(0,0,0)">HAnimMotion : X3DChildNode {
  SFBool   [in]     next
  SFBool   [in]     previous
  </span><font color="#ff0000">SFString [in,out] channels         ""</font><font color="#000000">
  MFBool   [in,out] channelsEnabled  []
  SFString [in,out] description      ""
  SFBool   [in,out] enabled          TRUE
  SFInt32  [in,out] endFrame         0      [0,∞)
  SFTime   [in,out] frameDuration    0.1    (0,∞)
  SFInt32  [in,out] frameIncrement   1      (-∞,∞)
  SFInt32  [in,out] frameIndex       0      [0,∞)
  SFString [in,out] joints           ""                  
  SFInt32  [in,out] loa              -1     [-1,4]
  SFBool   [in,out] loop             FALSE
  SFNode   [in,out] metadata         NULL   [X3DMetadataObject]
  SFString [in,out] name             ""
  SFInt32  [in,out] startFrame       0      [0,∞)
  MFFloat  [in,out] values           []     (-∞,∞)
  SFTime   [out]    cycleTime               [0,∞)
  SFTime   [out]    elapsedTime             (0,∞)
  SFInt32  [out]    frameCount              [0,∞</font></pre></div></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote><div dir="auto"><br></div><div dir="auto">[snip]</div></div></div>