<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Can't otherwise debug JinLOA4.java (warnings from my version
      shown below).  No automated comparison possible.  I may try to
      write a Java parser over Xmas break, so we can avoid these "code
      too large" errors.   Confirmed source .x3d is comparable to the
      archives.  Previous fault in JinLOA4.json noted again (-value
      instead of correct -metadata between HAnimHumanoid and
      MetadataSet).</p>
    <p>Please confirm that JinLOA4.x3d passes the XML validator, I am
      pretty sure it will.</p>
    <p>The nub of the issue is conversion from XML to JSON.</p>
    <p>Warning: HAnimJoint name
      newValue='l_tarsal_distal_interphalangeal_1' has an unrecognized
      value not matching any of the optional string tokens.<br>
      Warning: HAnimJoint name
      newValue='r_tarsal_distal_interphalangeal_1' has an unrecognized
      value not matching any of the optional string tokens.<br>
      org.web3d.x3d.sai.InvalidFieldException: ERROR_ILLEGAL_VALUE:
      HAnimSegment DEF='hanim_sacrum' name='sacrum' illegal parent
      found: HAnimJoint name='hanim_humanoid_root' name='humanoid_root'<br>
      org.web3d.x3d.sai.InvalidFieldException: ERROR_ILLEGAL_VALUE:
      HAnimSegment DEF='hanim_sacrum' name='sacrum' illegal parent
      found: HAnimJoint name='hanim_humanoid_root' name='humanoid_root'<br>
          at
      org.web3d.x3d.jsail.HAnim.HAnimSegment.validate(HAnimSegment.java:6169)<br>
          at
      org.web3d.x3d.jsail.HAnim.HAnimJoint.validate(HAnimJoint.java:7162)<br>
          at
org.web3d.x3d.jsail.HAnim.HAnimHumanoid.validate(HAnimHumanoid.java:6017)<br>
          at org.web3d.x3d.jsail.Core.Scene.validate(Scene.java:870)<br>
          at org.web3d.x3d.jsail.Core.X3D.validate(X3D.java:3988)<br>
          at
      org.web3d.x3d.jsail.Core.X3D.toFileStylesheetConversion(X3D.java:1118)<br>
          at
      org.web3d.x3d.jsail.Core.X3D.toFileStylesheetConversion(X3D.java:1042)<br>
          at org.web3d.x3d.jsail.Core.X3D.toFileJSON(X3D.java:1853)<br>
          at net.coderextreme.data.JinLOA4.main(JinLOA4.java:43)<br>
      Exception in thread "main"
      org.web3d.x3d.sai.InvalidFieldException: ERROR_ILLEGAL_VALUE:
      HAnimSegment DEF='hanim_sacrum' name='sacrum' illegal parent
      found: HAnimJoint name='hanim_humanoid_root' name='humanoid_root'<br>
          at
      org.web3d.x3d.jsail.HAnim.HAnimSegment.validate(HAnimSegment.java:6169)<br>
          at
      org.web3d.x3d.jsail.HAnim.HAnimJoint.validate(HAnimJoint.java:7162)<br>
          at
org.web3d.x3d.jsail.HAnim.HAnimHumanoid.validate(HAnimHumanoid.java:6017)<br>
          at org.web3d.x3d.jsail.Core.Scene.validate(Scene.java:870)<br>
          at org.web3d.x3d.jsail.Core.X3D.validate(X3D.java:3988)<br>
          at
      org.web3d.x3d.jsail.Core.X3D.toFileStylesheetConversion(X3D.java:1118)<br>
          at
      org.web3d.x3d.jsail.Core.X3D.toFileStylesheetConversion(X3D.java:1042)<br>
          at org.web3d.x3d.jsail.Core.X3D.toFileJSON(X3D.java:1853)<br>
          at net.coderextreme.data.JinLOA4.main(JinLOA4.java:43)<br>
      <br>
    </p>
    <div class="moz-cite-prefix">On 12/24/21 00:39, John Carlson wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:bfbd5302-2958-fb5e-92a7-9e7e97b6942b@gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>I think there's still a error in X3dToJson.xslt, conversion
        from XML to JSON produces</p>
      <p>[snippet]</p>
      <p>{ "HAnimHumanoid":<br>
                    {    <br>
                      "@name":"JinLOA4",<br>
                      "@DEF":"hanim_JinLOA4",<br>
                      "@loa":4,                 <br>
                      "@scale":[0.0225,0.0225,0.0225],<br>
                      "@version":"2.0",<br>
        <u><b>              "-value":[    </b></u>     <br>
                        { "MetadataSet":<br>
                          {              "-value":[    <br>
      </p>
      <p><br>
      </p>
      <p>I believe this affects all my downstream serialzers.</p>
      <p>I will double check that I am using the stylesheet.</p>
      <p>John<br>
      </p>
      <div class="moz-cite-prefix">On 12/23/21 13:50, Brutzman, Donald
        (Don) (CIV) wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:BY3PR13MB48843FB268CC46BEC41D623BC47E9@BY3PR13MB4884.namprd13.prod.outlook.com">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        <meta name="Generator" content="Microsoft Word 15 (filtered
          medium)">
        <style>@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}div.WordSection1
        {page:WordSection1;}ol
        {margin-bottom:0in;}ul
        {margin-bottom:0in;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
        <div class="WordSection1">
          <p class="MsoNormal">Hi John, thanks for this elaboration of
            the question.  Here is an in-depth explanation giving
            multiple related references that answer the question: yes,
            the /metadata/ field is part of HAnimHumanoid node.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">More precise URL for HAnimHumanoid in
            HAnim v2.0 specification is<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <ul style="margin-top:0in" type="disc">
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level1 lfo1">Part 1: 
              Humanoid animation (HAnim) architecture, Clause 6 Object
              Interfaces, 6.2 Humanoid<o:p></o:p></li>
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level1 lfo1"><a
                class="moz-txt-link-freetext"
href="https://www.web3d.org/documents/specifications/19774-1/V2.0/Architecture/Obje"
                moz-do-not-send="true">https://www.web3d.org/documents/specifications/19774-1/V2.0/Architecture/Obje</a>
              Part 1:  Humanoid animation (HAnim)
              architecturectInterfaces.html#Humanoid<o:p></o:p></li>
          </ul>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">HAnim architecture specification is
            abstract and must be implemented by other specifications. 
            Thus you have to look in X3D Architecture specification for
            corresponding X3D details.<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal">Corresponding X3D Architecture
            specification is<o:p></o:p></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <ul style="margin-top:0in" type="disc">
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level1 lfo1">X3D4 Part
              1: Architecture and base components, 26 Humanoid Animation
              (HAnim) component, clause 26.3.2 HAnimHumanoid<o:p></o:p></li>
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level1 lfo1"><a
                class="moz-txt-link-freetext"
href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/hanim.html#HAnimHumanoid"
                moz-do-not-send="true">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/hanim.html#HAnimHumanoid</a><o:p></o:p></li>
          </ul>
          <p class="MsoNormal"><o:p> </o:p></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">HAnimHumanoid : X3DChildNode,
              X3DBoundedObject {<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFVec3f    [in,out]
              center                0 0 0    (-∞,∞)<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFString   [in,out]
              description           ""<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFBool     [in,out]
              bboxDisplay           FALSE<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFBool     [in,out]
              visible               TRUE<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFString   [in,out]
              info                  []<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFVec3f    [in,out]
              jointBindingPositions []       (-∞,∞)<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFRotation [in,out]
              jointBindingRotations []       (-∞,∞)|[-1,1]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFVec3f    [in,out]
              jointBindingScales    []       (0,∞)<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFNode     [in,out]
              joints                []       [HAnimJoint]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFInt32    [in,out]
              loa                   -1       [-1,4]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFNode     [in,out]
              metadata              NULL     [X3DMetadataObject]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFNode     [in,out]
              motions               []       [HAnimMotion]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFBool     [in,out]
              motionsEnabled        []<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFString   [in,out]
              name                  ""<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFRotation [in,out]
              rotation              0 0 1 0  (-∞,∞)|[-1,1]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFVec3f    [in,out]
              scale                 1 1 1    (0,∞)<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFRotation [in,out]
              scaleOrientation      0 0 1 0  (-∞,∞)|[-1,1]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFNode     [in,out]
              segments              []       [HAnimSegment]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFNode     [in,out]
              sites                 []       [HAnimSite]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFString   [in,out]
              skeletalConfiguration "BASIC"<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFNode     [in,out]
              skeleton              []       [HAnimJoint, HAnimSite]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFNode     [in,out]
              skin                  []       <s><span
                  style="background:orange">[IndexedFaceSet,
                  X3DGroupingNode, Shape]</span></s><span
                style="background:yellow">[IndexedFaceSet,
                IndexedFanSet, IndexedQuadSet, IndexedTriangleSet,
                IndexedTriangleStripSet]</span><o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFNode     [in,out]
              skinBindingCoord      NULL     [X3DCoordinateNode]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFNode     [in,out]
              skinBindingNormal     NULL     [X3DNormalNode]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFNode     [in,out]
              skinCoord             NULL     [X3DCoordinateNode]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFNode     [in,out]
              skinNormal            NULL     [X3DNormalNode]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFVec3f    [in,out]
              translation           0 0 0    (-∞,∞)<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFString   [in,out]
              version               ""<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  MFNode     [in,out]
              viewpoints            []       [HAnimSite]<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFVec3f    []      
              bboxCenter            0 0 0    (-∞,∞)<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">  SFVec3f    []      
              bboxSize              -1 -1 -1 [0,∞) or −1 −1 −1<o:p></o:p></span></p>
          <p class="MsoNormal" style="margin-left:18.75pt"><span
              style="font-size:8.5pt;font-family:"Courier
              New";color:black">}<o:p></o:p></span></p>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div>
            <p class="MsoNormal">As you can see, this node signature
              does include /metadata/ field.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">As you can also see, there is no
              /value/ field.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">Of note is that there is an
              HAnimHumanoid /info/ field for metadata information, an
              MFString array of “name=value” pairs.  Very clumsy to use
              in practice.  The X3D4 Architecture notes in 26.3.2 the
              preferred alternative approach:<o:p></o:p></p>
            <ul style="margin-top:0in" type="disc">
              <li class="MsoListParagraph"
                style="margin-left:0in;mso-list:l0 level1 lfo1"><span
                  style="background:yellow;mso-highlight:yellow">Metadata
                  values from the <i>info</i> field can be equivalently
                  encoded via MetadataSet containing related
                  X3DMetadataObject nodes.</span> <o:p></o:p></li>
            </ul>
            <p class="MsoNormal">Conversions are provided by X3dTidy
              cleanup stylesheet, and converted examples online. (Not
              finding this information in X3D Scene Authoring Hints,
              will add it.)<o:p></o:p></p>
            <div
              style="mso-element:para-border-div;border:none;border-bottom:solid
              windowtext 1.5pt;padding:0in 0in 1.0pt 0in">
              <p class="MsoNormal" style="border:none;padding:0in"><o:p> </o:p></p>
            </div>
            <p class="MsoNormal"><o:p> </o:p></p>
            <ul style="margin-top:0in" type="disc">
              <li class="MsoListParagraph"
                style="margin-left:0in;mso-list:l0 level1 lfo1">HumanoidAnimation
                X3D Examples Archive<o:p></o:p></li>
              <li class="MsoListParagraph"
                style="margin-left:0in;mso-list:l0 level1 lfo1"><a
                  class="moz-txt-link-freetext"
                  href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation"
                  moz-do-not-send="true">https://www.web3d.org/x3d/content/examples/HumanoidAnimation</a><o:p></o:p></li>
            </ul>
            <div
              style="mso-element:para-border-div;border:none;border-bottom:solid
              windowtext 1.5pt;padding:0in 0in 1.0pt 0in">
              <p class="MsoNormal" style="border:none;padding:0in"><o:p> </o:p></p>
            </div>
            <p class="MsoNormal"><o:p> </o:p></p>
            <ul style="margin-top:0in" type="disc">
              <li class="MsoListParagraph"
                style="margin-left:0in;mso-list:l0 level1 lfo1">X3D
                Example Archives: Humanoid Animation, Characters, Jin
                LOA 4<o:p></o:p></li>
              <li class="MsoListParagraph"
                style="margin-left:0in;mso-list:l0 level1 lfo1"><a
                  class="moz-txt-link-freetext"
href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4Index.html"
                  moz-do-not-send="true">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4Index.html</a><o:p></o:p></li>
              <li class="MsoListParagraph"
                style="margin-left:0in;mso-list:l0 level1 lfo1"><a
                  class="moz-txt-link-freetext"
href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.html#hanim_JinLOA4"
                  moz-do-not-send="true">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.html#hanim_JinLOA4</a><o:p></o:p></li>
            </ul>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal"><HAnimHumanoid DEF='hanim_JinLOA4' loa='4' name='JinLOA4' scale='0.0225
              0.0225 0.0225'> <o:p></o:p></p>
            <p class="MsoNormal">  <MetadataSet name='HAnimHumanoid.info' reference='<a
                class="moz-txt-link-freetext"
href="https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid"
                moz-do-not-send="true">https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid</a>' containerField='metadata'>
              <o:p></o:p></p>
            <p class="MsoNormal">    <MetadataString containerField='value' name='authorName' value='Jin
              Hoon Lee and Min Joo Lee, Chul Hee Jung and Myeong Won
              Lee'/> <br>
                  <a class="moz-txt-link-rfc2396E"
href="mailto:MetadataString containerField='value' name='authorEmail' value='myeongwonlee@gmail.com'/"
                moz-do-not-send="true"><MetadataString containerField='value' name='authorEmail' value='myeongwonlee@gmail.com'/></a>
              <br>
    <MetadataString containerField='value' name='creationDate' value='31
              March 2011'/> <br>
    <MetadataString containerField='value' name='gender' value='female'/>
              <br>
    <MetadataFloat containerField='value' name='height' value='1.5'/>
              <br>
    <MetadataString containerField='value' name='humanoidVersion' value='"2.0"'/>
              <o:p></o:p></p>
            <div
              style="mso-element:para-border-div;border:none;border-bottom:solid
              windowtext 1.5pt;padding:0in 0in 1.0pt 0in">
              <p class="MsoNormal" style="border:none;padding:0in">  </MetadataSet>
                <br>
                <a name="hanim_humanoid_root" moz-do-not-send="true"></a>  <HAnimJoint DEF='hanim_humanoid_root' center='0
                36.709999
                -0.707600' containerField='skeleton' name='humanoid_root'><o:p></o:p></p>
              <p class="MsoNormal" style="border:none;padding:0in"><o:p></o:p></p>
            </div>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">Reviewing X3D Tooltips confirms this
              answer to your question, along with convenient links to
              clauses in both specifications.  (Each of the node names
              e.g. HAnimHumanoid links to the current X3D Architecture
              CD1 clause.)<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <ul style="margin-top:0in" type="disc">
              <li class="MsoListParagraph"
                style="margin-left:0in;mso-list:l0 level1 lfo1">X3D
                Tooltips HAnimHumanoid <o:p></o:p></li>
              <li class="MsoListParagraph"
                style="margin-left:0in;mso-list:l0 level1 lfo1"><a
                  class="moz-txt-link-freetext"
                  href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html#HAnimHumanoid"
                  moz-do-not-send="true">https://www.web3d.org/x3d/tooltips/X3dTooltips.html#HAnimHumanoid</a><o:p></o:p></li>
            </ul>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">Now checking X3D Unified Object Model
              (X3DUOM) X3dUnifiedObjectModel-4.0.xml<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <ul style="margin-top:0in" type="disc">
              <li class="MsoListParagraph"
                style="margin-left:0in;mso-list:l0 level1 lfo1"><a
                  class="moz-txt-link-freetext"
                  href="https://www.web3d.org/specifications"
                  moz-do-not-send="true">https://www.web3d.org/specifications</a><o:p></o:p></li>
              <li class="MsoListParagraph"
                style="margin-left:0in;mso-list:l0 level1 lfo1"><a
                  class="moz-txt-link-freetext"
href="https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml"
                  moz-do-not-send="true">https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml</a><o:p></o:p></li>
            </ul>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">      <ConcreteNode
              name="HAnimHumanoid"><o:p></o:p></p>
            <p class="MsoNormal">         <InterfaceDefinition
              specificationUrl=”<a class="moz-txt-link-freetext"
href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/hanim.html#HAnimHumanoid”"
                moz-do-not-send="true">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/hanim.html#HAnimHumanoid”</a><o:p></o:p></p>
            <p class="MsoNormal">                              appinfo="The
              HAnimHumanoid node is used to: (a) store references to the
              joints, segments, sites, skeleton, optional skin, and
              fixed viewpoints, (b) serve as a container for the entire
              humanoid, (c) provide a convenient way of moving the
              humanoid through its environment, and (d) store
              human-readable metadata such as name, version, author,
              copyright, age, gender and other information."><o:p></o:p></p>
            <p class="MsoNormal">            <componentInfo
              name="HAnim" level="1"/><o:p></o:p></p>
            <p class="MsoNormal">            <Inheritance
              baseType="X3DChildNode"/><o:p></o:p></p>
            <p class="MsoNormal">            <AdditionalInheritance
              baseType="X3DBoundedObject"/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="bboxCenter"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFVec3f"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="initializeOnly"<o:p></o:p></p>
            <p class="MsoNormal">                   default="0 0 0"<o:p></o:p></p>
            <p class="MsoNormal">                  
              inheritedFrom="X3DBoundedObject"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Bounding box center accompanies bboxSize and
              provides an optional hint for bounding box position offset
              from origin of local coordinate system."/><o:p></o:p></p>
            <p class="MsoNormal">            <field
              name="bboxDisplay"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFBool"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="false"<o:p></o:p></p>
            <p class="MsoNormal">                  
              inheritedFrom="X3DBoundedObject"<o:p></o:p></p>
            <p class="MsoNormal">                   description="Whether
              to display bounding box for associated geometry, aligned
              with world coordinates."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="bboxSize"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFVec3f"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="initializeOnly"<o:p></o:p></p>
            <p class="MsoNormal">                   default="-1 -1 -1"<o:p></o:p></p>
            <p class="MsoNormal">                  
              inheritedFrom="X3DBoundedObject"<o:p></o:p></p>
            <p class="MsoNormal">                  
              baseType="bboxSizeType"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Bounding box size is usually omitted, and can
              easily be calculated automatically by an X3D player at
              scene-loading time with minimal computational cost."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="center"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFVec3f"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  default="0 0 0"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Translation offset from origin of local
              coordinate system."/><o:p></o:p></p>
            <p class="MsoNormal">            <field
              name="description"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFString"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Author-provided prose that describes intended
              purpose of this node."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="info"<o:p></o:p></p>
            <p class="MsoNormal">                   type="MFString"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Contains metadata keyword=value pairs, where
              approved keyword terms are humanoidVersion authorName
              authorEmail copyright creationDate usageRestrictions age
              gender height and weight."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="IS"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="NULL"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="IS"<o:p></o:p></p>
            <p class="MsoNormal">                  
              inheritedFrom="X3DNode"/><o:p></o:p></p>
            <p class="MsoNormal">            <field
              name="jointBindingPositions"<o:p></o:p></p>
            <p class="MsoNormal">                   type="MFVec3f"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="0 0 0"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Specifies an array of position values for
              each HAnimJoint node in the joints field, in order,
              corresponding to each binding pose."/><o:p></o:p></p>
            <p class="MsoNormal">            <field
              name="jointBindingRotations"<o:p></o:p></p>
            <p class="MsoNormal">                   type="MFRotation"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="0 0 1 0"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Specifies an array of rotation values for
              each HAnimJoint node in the joints field, in order,
              corresponding to each binding pose."/><o:p></o:p></p>
            <p class="MsoNormal">            <field
              name="jointBindingScales"<o:p></o:p></p>
            <p class="MsoNormal">                   type="MFVec3f"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="0 0 0"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Specifies an array of scale values for each
              HAnimJoint node in the joints field, in order,
              corresponding to each binding pose."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="joints"<o:p></o:p></p>
            <p class="MsoNormal">                   type="MFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="HAnimJoint"<o:p></o:p></p>
            <p class="MsoNormal">                   description="The
              joints field contains a list of USE references for all
              HAnimJoint node instances found within the preceding
              skeleton hierarchy."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="loa"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFInt32"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="-1"<o:p></o:p></p>
            <p class="MsoNormal">                   minInclusive="-1"<o:p></o:p></p>
            <p class="MsoNormal">                   maxInclusive="4"<o:p></o:p></p>
            <p class="MsoNormal">                   baseType="loaType"<o:p></o:p></p>
            <p class="MsoNormal">                   description="Level
              Of Articulation 0."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="metadata"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="NULL"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="X3DMetadataObject"<o:p></o:p></p>
            <p class="MsoNormal">                
                inheritedFrom="X3DNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Information about this node can be contained
              in a MetadataBoolean, MetadataDouble, MetadataFloat,
              MetadataInteger, MetadataString or MetadataSet node."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="motions"<o:p></o:p></p>
            <p class="MsoNormal">                   type="MFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="HAnimMotion"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Contains any HAnimMotion nodes that can
              animate the HAnimHumanoid."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="name"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFString"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              baseType="xs:NMTOKEN"<o:p></o:p></p>
            <p class="MsoNormal">                   description="Unique
              name attribute must be defined so that each HAnimHumanoid
              node in a scene can be identified at run time for
              animation purposes."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="rotation"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFRotation"<o:p></o:p></p>
            <p class="MsoNormal">             
                   accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="0 0 1 0"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Orientation of children relative to local
              coordinate system."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="scale"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFVec3f"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="1 1 1"<o:p></o:p></p>
            <p class="MsoNormal">                   minExclusive="0"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Non-uniform x-y-z scale of child coordinate
              system, adjusted by center and scaleOrientation."/><o:p></o:p></p>
            <p class="MsoNormal">            <field
              name="scaleOrientation"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFRotation"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="0 0 1 0"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Preliminary rotation of coordinate system
              before scaling (to allow scaling around arbitrary
              orientations)."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="segments"<o:p></o:p></p>
            <p class="MsoNormal">                   type="MFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="HAnimSegment"<o:p></o:p></p>
            <p class="MsoNormal">                   description="The
              segments field contains a list of USE references for all
              HAnimSegment node instances found within the preceding
              skeleton hierarchy."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="sites"<o:p></o:p></p>
            <p class="MsoNormal">                   type="MFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="HAnimSite"<o:p></o:p></p>
            <p class="MsoNormal">                   description="sites
              field contains a list of USE references for all HAnimSite
              node instances found within the preceding skeleton
              hierarchy."/><o:p></o:p></p>
            <p class="MsoNormal">            <field
              name="skeletalConfiguration"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFString"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="BASIC"<o:p></o:p></p>
            <p class="MsoNormal">                   description="Models
              sharing a common skeletal configuration can share
              animations and binding poses."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="skeleton"<o:p></o:p></p>
            <p class="MsoNormal">                   type="MFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="HAnimJoint|HAnimSite"<o:p></o:p></p>
            <p class="MsoNormal">                   description="List of
              top-level HAnimJoint and HAnimSite nodes that create the
              skeleton model."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="skin"<o:p></o:p></p>
            <p class="MsoNormal">                   type="MFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="Group|Transform|Shape|IndexedFaceSet"<o:p></o:p></p>
            <p class="MsoNormal">                   description="List of
              one or more indexed mesh definitions (such as
              IndexedFaceSet) that utilize skinCoord point and
              skinNormal normal data."/><o:p></o:p></p>
            <p class="MsoNormal">            <field
              name="skinBindingCoord"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="NULL"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="X3DCoordinateNode"<o:p></o:p></p>
            <p class="MsoNormal">                   description="Array
              of Coordinate nodes to handle non-default source pose so
              that both skin and skeleton can be in same binding
              pose."/><o:p></o:p></p>
            <p class="MsoNormal">            <field
              name="skinBindingNormal"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="NULL"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="X3DNormalNode"<o:p></o:p></p>
            <p class="MsoNormal">                   description="Array
              of Normal nodes to handle non-default source pose so that
              both skin and skeleton can be in same binding pose."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="skinCoord"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="NULL"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="X3DCoordinateNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Coordinate node utilized by indexed mesh
              definitions for skin."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="skinNormal"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="NULL"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="X3DNormalNode"<o:p></o:p></p>
            <p class="MsoNormal">                   description="Single
              Normal node utilized by indexed mesh definitions for
              skin."/><o:p></o:p></p>
            <p class="MsoNormal">            <field
              name="translation"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFVec3f"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="0 0 0"<o:p></o:p></p>
            <p class="MsoNormal">                  
              description="Position of children relative to local
              coordinate system."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="version"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFString"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="2.0"<o:p></o:p></p>
            <p class="MsoNormal">                  
              additionalEnumerationValuesAllowed="false"<o:p></o:p></p>
            <p class="MsoNormal">                  
              simpleType="hanimVersionChoices"<o:p></o:p></p>
            <p class="MsoNormal">                  
              baseType="xs:NMTOKEN"<o:p></o:p></p>
            <p class="MsoNormal">                 
               description="HAnimHumanoid version, where value is
              1."><o:p></o:p></p>
            <p class="MsoNormal">               <enumeration
              value="1.0"<o:p></o:p></p>
            <p class="MsoNormal">                           
              appinfo="International standard HAnim 19774 version 1
              approved by ISO in 2006. Note that HAnim version 2.0 has
              more capabilties, while version 1.0 includes several small
              incompatibilities. Since no other versions were formally
              approved, no other values are allowed for earlier HAnim
              versions."<o:p></o:p></p>
            <p class="MsoNormal">                           
              documentation=<a class="moz-txt-link-rfc2396E"
                href="https://www.web3d.org/documents/specifications/19774/V1.0"
                moz-do-not-send="true">"https://www.web3d.org/documents/specifications/19774/V1.0"</a>
              /><o:p></o:p></p>
            <p class="MsoNormal">               <enumeration
              value="2.0"<o:p></o:p></p>
            <p class="MsoNormal">                           
              appinfo="Revised standard HAnim 19774 version 2 (parts 1
              and 2) were approved by ISO in November 2019, published by
              Web3D Consortium May 2020."<o:p></o:p></p>
            <p class="MsoNormal">                           
              documentation=<a class="moz-txt-link-rfc2396E"
                href="https://www.web3d.org/documents/specifications/19774/V2.0"
                moz-do-not-send="true">"https://www.web3d.org/documents/specifications/19774/V2.0"</a>
              /><o:p></o:p></p>
            <p class="MsoNormal">            </field><o:p></o:p></p>
            <p class="MsoNormal">            <field name="viewpoints"<o:p></o:p></p>
            <p class="MsoNormal">                   type="MFNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              acceptableNodeTypes="HAnimSite"<o:p></o:p></p>
            <p class="MsoNormal">                   description="List of
              HAnimSite nodes containing Viewpoint nodes that appear in
              the skeleton model, usually as USE node references."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="visible"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFBool"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                   default="true"<o:p></o:p></p>
            <p class="MsoNormal">                  
              inheritedFrom="X3DBoundedObject"<o:p></o:p></p>
            <p class="MsoNormal">                   description="Whether
              or not renderable content within this node is visually
              displayed."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="DEF"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFString"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              inheritedFrom="X3DNode"<o:p></o:p></p>
            <p class="MsoNormal">                   baseType="xs:ID"<o:p></o:p></p>
            <p class="MsoNormal">                   description="DEF
              defines a unique ID name for this node, referenceable by
              other nodes."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="USE"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFString"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              inheritedFrom="X3DNode"<o:p></o:p></p>
            <p class="MsoNormal">                   baseType="xs:IDREF"<o:p></o:p></p>
            <p class="MsoNormal">                   description="USE
              means reuse an already DEF-ed node ID, excluding all child
              nodes and all other attributes (except for containerField,
              which can have a different value)."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="class"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFString"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              inheritedFrom="X3DNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              baseType="xs:NMTOKENS"<o:p></o:p></p>
            <p class="MsoNormal">                   description="The
              class attribute on each X3D node and statement is a
              space-separated list of classes, reserved for use by
              Cascading Style Sheets (CSS) and XML stylesheets."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="id"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFString"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              inheritedFrom="X3DNode"<o:p></o:p></p>
            <p class="MsoNormal">                  
              baseType="xs:NMTOKEN"<o:p></o:p></p>
            <p class="MsoNormal">                   description="The id
              attribute on each X3D node and statement is considered a
              unique identifier when used as part of an encompassing
              HTML/DOM context."/><o:p></o:p></p>
            <p class="MsoNormal">            <field name="style"<o:p></o:p></p>
            <p class="MsoNormal">                   type="SFString"<o:p></o:p></p>
            <p class="MsoNormal">                  
              accessType="inputOutput"<o:p></o:p></p>
            <p class="MsoNormal">                  
              inheritedFrom="X3DNode"<o:p></o:p></p>
            <p class="MsoNormal">                   description="The
              style attribute on each X3D node and statement provides an
              inline block of CSS source for element styling, reserved
              for use by Cascading Style Sheets (CSS) and XML
              stylesheets."/><o:p></o:p></p>
            <p class="MsoNormal">            <containerField
              default="children" type="xs:NMTOKEN"/><o:p></o:p></p>
            <p class="MsoNormal">            <ContentModel><o:p></o:p></p>
            <p class="MsoNormal">               <GroupContentModel
              name="ChildContentModelCore" minOccurs="0"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="HAnimJoint" minOccurs="0" maxOccurs="unbounded"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="HAnimSegment" minOccurs="0"
              maxOccurs="unbounded"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="HAnimSite" minOccurs="0" maxOccurs="unbounded"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="HAnimMotion" minOccurs="0"
              maxOccurs="unbounded"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="Group"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="Transform"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="Shape"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="IndexedFaceSet"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="Coordinate"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="CoordinateDouble"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="Normal" minOccurs="0" maxOccurs="2"/><o:p></o:p></p>
            <p class="MsoNormal">               <NodeContentModel
              name="ProtoInstance" minOccurs="0"
              maxOccurs="unbounded"/><o:p></o:p></p>
            <p class="MsoNormal">            </ContentModel><o:p></o:p></p>
            <p class="MsoNormal">         </InterfaceDefinition><o:p></o:p></p>
            <p class="MsoNormal">      </ConcreteNode><o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">Regarding python, I checked the
              conversion of JinLOA4.x3d to JinLOA4.py<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">Stylesheet X3dToPython.xstl seemed to
              work OK <o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">   
HAnimHumanoid(DEF='hanim_JinLOA4',loa=4,name='JinLOA4',scale=(0.0225,0.0225,0.0225),version='2.0',<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">      skeleton=[<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">     
HAnimJoint(DEF='hanim_humanoid_root',center=(0,36.709999,-0.707600),name='humanoid_root',stiffness=[0,0,0],<o:p></o:p></span></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">but then got a self-validation error by
              the JinLOA4.py python program, <o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">create python:<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">C:\x3d-code\<a
                  class="moz-txt-link-abbreviated"
href="http://www.web3d.org\x3d\content\examples\HumanoidAnimation/Characters//JinLOA4.x3d"
                  moz-do-not-send="true">www.web3d.org\x3d\content\examples\HumanoidAnimation/Characters//JinLOA4.x3d</a>
                processing with X3dToPython stylesheet...<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">C:\x3d-code\<a
                  class="moz-txt-link-abbreviated"
href="http://www.web3d.org\x3d\content\examples\HumanoidAnimation/Characters//JinLOA4.py"
                  moz-do-not-send="true">www.web3d.org\x3d\content\examples\HumanoidAnimation/Characters//JinLOA4.py</a>
                self-validation tests...<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">validate python:<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">x3d.py package loaded, have fun with X3D
                Graphics!<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">Traceback (most recent call last):<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">  File
                "C:\x3d-code\<a class="moz-txt-link-abbreviated"
href="http://www.web3d.org\x3d\content\examples\HumanoidAnimation\Characters\JinLOA4.py"
                  moz-do-not-send="true">www.web3d.org\x3d\content\examples\HumanoidAnimation\Characters\JinLOA4.py</a>",
                line 169, in <module><o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">   
HAnimJoint(DEF='hanim_l_tarsal_distal_interphalangeal_1',center=(2.761,0.539400,5.125),name='l_tarsal_distal_interphalangeal_1',stiffness=[0,0,0],<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">  File "C:\x3d-code\<a
                  class="moz-txt-link-abbreviated"
                  href="http://www.web3d.org\x3d\stylesheets\python\x3d\x3d.py"
                  moz-do-not-send="true">www.web3d.org\x3d\stylesheets\python\x3d\x3d.py</a>",
                line 43724, in __init__<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">    self.stiffness = stiffness<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">  File "C:\x3d-code\<a
                  class="moz-txt-link-abbreviated"
                  href="http://www.web3d.org\x3d\stylesheets\python\x3d\x3d.py"
                  moz-do-not-send="true">www.web3d.org\x3d\stylesheets\python\x3d\x3d.py</a>",
                line 43873, in stiffness<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">    assertValidSFVec3f(stiffness)<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">  File "C:\x3d-code\<a
                  class="moz-txt-link-abbreviated"
                  href="http://www.web3d.org\x3d\stylesheets\python\x3d\x3d.py"
                  moz-do-not-send="true">www.web3d.org\x3d\stylesheets\python\x3d\x3d.py</a>",
                line 3953, in assertValidSFVec3f<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">    raise X3DTypeError(str(value)[:100] + ',
                type=' + str(type(value)) + ' is not a valid Python
                tuple for SFVec3f')<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">x3d.X3DTypeError: [0, 0, 0], type=<class
                'list'> is not a valid Python tuple for SFVec3f<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">Result: 1<o:p></o:p></span></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">Note how <span
                style="font-size:10.0pt;font-family:"Courier
                New""> stiffness=[0,0,0]</span>was given as a list
              in brackets, rather than a tuple value in parentheses <span
                style="font-size:10.0pt;font-family:"Courier
                New"">stiffness=(0,0,0)</span> as might be expected
              for SFVec3f, and so this is a useful diagnostic.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">However the actual specification type
              for stiffness is MFFloat.  (This was a mantis issue, might
              we tighten it to SFVec3f, but decided to keep it MFFloat
              in case more-advanced kinematics engines were someday of
              interest.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">*
              <a class="moz-txt-link-freetext"
href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/hanim.html#HAnimJoint"
                moz-do-not-send="true">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/hanim.html#HAnimJoint</a><o:p></o:p></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New""><o:p> </o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">26.3.3 HAnimJoint<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">HAnimJoint : X3DGroupingNode {<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">[…]<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">  MFFloat    [in,out] stiffness        [0 0
                0]  [0,1]<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New""><o:p> </o:p></span></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">Applied change to X3D DTD, X3D XML
              Schema and again autogenerated X3DUOM and x3d.py and X3D
              Ontology to match.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">23 DEC 2021, carlson brutzman<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">- restore type of HAnimJoint stiffness field
                as MFFloat (vice SFVec3f) to match<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">  specification, since more-advanced
                kinematics engines might someday hold interest.<o:p></o:p></span></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">This fixed the stiffness error.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">However, next got a surprising
              conversion error (which might have been what you
              experienced originally):<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">=====================<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">create python:<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">C:\x3d-code\<a
                  class="moz-txt-link-abbreviated"
href="http://www.web3d.org\x3d\content\examples\HumanoidAnimation/Characters//JinLOA4.x3d"
                  moz-do-not-send="true">www.web3d.org\x3d\content\examples\HumanoidAnimation/Characters//JinLOA4.x3d</a>
                processing with X3dToPython stylesheet...<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">C:\x3d-code\<a
                  class="moz-txt-link-abbreviated"
href="http://www.web3d.org\x3d\content\examples\HumanoidAnimation/Characters//JinLOA4.py"
                  moz-do-not-send="true">www.web3d.org\x3d\content\examples\HumanoidAnimation/Characters//JinLOA4.py</a>
                self-validation tests...<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">validate python:<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">x3d.py package loaded, have fun with X3D
                Graphics!Traceback (most recent call last):<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New""><o:p> </o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">  File
                "C:\x3d-code\<a class="moz-txt-link-abbreviated"
href="http://www.web3d.org\x3d\content\examples\HumanoidAnimation\Characters\JinLOA4.py"
                  moz-do-not-send="true">www.web3d.org\x3d\content\examples\HumanoidAnimation\Characters\JinLOA4.py</a>",
                line 50, in <module><o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">   
HAnimHumanoid(DEF='hanim_JinLOA4',loa=4,name='JinLOA4',scale=(0.0225,0.0225,0.0225),version='2.0',<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">TypeError: HAnimHumanoid.__init__() got an
                unexpected keyword argument 'value'<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">Result: 1<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">=====================<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New""><o:p> </o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New""><o:p> </o:p></span></p>
            <p class="MsoNormal">Which apparently was on line 1950,<o:p></o:p></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New""><o:p> </o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">  
                value=MetadataSet(name='HAnimHumanoid.info',reference='<a
                  class="moz-txt-link-freetext"
href="https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid"
                  moz-do-not-send="true">https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid</a>',</span>etc.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">This conversion should have been <span
                style="font-size:10.0pt;font-family:"Courier
                New""> metadata=MetadataSet</span> etc. Looks like
              the field name for the HAnimHumanoid MetadataSet was not
              specified incorrectly, the automatic conversion by X3dTidy
              did not apply correct containerField value.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">I have added a rule to X3dTidy.xslt
              that looks for this case (for either representation, X3D3
              or X3D4) and corrects it.  I have added a similar
              diagnostic rule to X3dSchematron checks.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">All affected HAnimHumanoid scenes have
              been updated and are now getting compiled correctly by
              Python.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">All changes checked into subversion. 
              Further regression testing continuing, website uploads to
              follow.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">So again thanks for exposing this
              issue.  Pretty complex but resolvable.  Once again the
              strict nature of Python aided us in achieving high Quality
              Assurance (QA) for X3D.<o:p></o:p></p>
            <p class="MsoNormal"><o:p> </o:p></p>
            <p class="MsoNormal">Happy holidays with X3D!   8)<span
                style="font-size:10.0pt;font-family:"Courier
                New""><o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New""><o:p> </o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">all the best, Don<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">-- <o:p> </o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">Don Brutzman  Naval Postgraduate School, Code
                USW/Br        <a class="moz-txt-link-abbreviated
                  moz-txt-link-freetext" href="mailto:brutzman@nps.edu"
                  moz-do-not-send="true">brutzman@nps.edu</a><o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">Watkins 270,  MOVES Institute, Monterey CA
                93943-5000 USA    +1.831.656.2149<o:p></o:p></span></p>
            <p class="MsoNormal"><span
                style="font-size:10.0pt;font-family:"Courier
                New"">X3D graphics, virtual worlds, navy robotics
                https://</span> <span
                style="font-size:10.0pt;font-family:"Courier
                New"">faculty.nps.edu/brutzman<o:p></o:p></span></p>
          </div>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b>From:</b> John Carlson <a
                  class="moz-txt-link-rfc2396E"
                  href="mailto:yottzumm@gmail.com"
                  moz-do-not-send="true"><yottzumm@gmail.com></a>
                <br>
                <b>Sent:</b> Wednesday, December 22, 2021 12:44 PM<br>
                <b>To:</b> Brutzman, Donald (Don) (CIV) <a
                  class="moz-txt-link-rfc2396E"
                  href="mailto:brutzman@nps.edu" moz-do-not-send="true"><brutzman@nps.edu></a>;
                X3D Graphics public mailing list <a
                  class="moz-txt-link-rfc2396E"
                  href="mailto:x3d-public@web3d.org"
                  moz-do-not-send="true"><x3d-public@web3d.org></a><br>
                <b>Subject:</b> Re: HAnim, X3dToPython.xslt
                X3dToJson.xslt Upgrade X3DUOM?<o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div>
            <div>
              <p class="MsoNormal">I believe I checked the right
                standard, here:<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
              <div>
                <p class="MsoNormal"><a
href="https://www.web3d.org/documents/specifications/19774-1/V2.0/index.html"
                    moz-do-not-send="true" class="moz-txt-link-freetext">https://www.web3d.org/documents/specifications/19774-1/V2.0/index.html</a><o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <p class="MsoNormal"> And neither value or metadata is a
                field????<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal">Seems a bit strange.<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
              <div>
                <div>
                  <p class="MsoNormal">On Wed, Dec 22, 2021 at 2:20 PM
                    John Carlson <<a href="mailto:yottzumm@gmail.com"
                      moz-do-not-send="true"
                      class="moz-txt-link-freetext">yottzumm@gmail.com</a>>
                    wrote:<o:p></o:p></p>
                </div>
                <blockquote style="border:none;border-left:solid #CCCCCC
                  1.0pt;padding:0in 0in 0in
                  6.0pt;margin-left:4.8pt;margin-right:0in">
                  <div>
                    <p class="MsoNormal">hoping to see value field added
                      to HAnimHumanoid in X3DUOM, or some notice that
                      the package generating stylesheets are not
                      up-to-date.<o:p></o:p></p>
                  </div>
                  <div>
                    <p class="MsoNormal"><o:p> </o:p></p>
                  </div>
                  <div>
                    <p class="MsoNormal">Also, check to make sure
                      stiffness is assigned the right data structure
                      (between list and tuple).   And no, iOS, I do not
                      want “Tupperware” for the second time.   We need
                      more women mathematicians (sorry for any
                      stereotyping).  On that subject, I wonder what
                      coordinate system crocheted hats use?<o:p></o:p></p>
                  </div>
                  <div>
                    <p class="MsoNormal"><o:p> </o:p></p>
                    <div>
                      <div>
                        <p class="MsoNormal">On Mon, Dec 20, 2021 at
                          3:17 AM John Carlson <<a
                            href="mailto:yottzumm@gmail.com"
                            target="_blank" moz-do-not-send="true"
                            class="moz-txt-link-freetext">yottzumm@gmail.com</a>>
                          wrote:<o:p></o:p></p>
                      </div>
                      <blockquote style="border:none;border-left:solid
                        #CCCCCC 1.0pt;padding:0in 0in 0in
                        6.0pt;margin-left:4.8pt;margin-right:0in">
                        <div>
                          <p>Okay, now I seem to be having a similar
                            problem between my python serializer,
                            X3dToPython.xslt, and probably other
                            serialized stuff.  I couldn't figure out how
                            to fix the stiffness issue in
                            X3dToPython.xslt, but hand-editing saved
                            that on this particular python file
                            (python/net/x3djsonld/data/JinLOA4.py).
                            Other JinLOA's still have lists with Don's
                            generator.<o:p></o:p></p>
                          <p>I believe the main change I am dealing with
                            is metadata vs value containerFields.   See
                            JSON diff below.  I'm not seeing relevant
                            changes to X3D JSON schema 4.0.  Does
                            something need to be upgraded in X3DUOM or
                            X3D JSON schema?  I'm not seeing a value
                            field in HAnimHumanoid.<o:p></o:p></p>
                          <p><b><span style="font-family:"Courier
                                New";color:#5454FF;background:white">~/X3DJSONLD/src/main/python/net/coderextreme/data</span></b><span
                              style="font-family:"Courier
                              New";color:black;background:white">$
                              python JinLOA4.py  </span><span
                              style="font-family:"Courier
                              New""><br>
                              Traceback (most recent call last): <br>
                               File
"/home/coderextreme/X3DJSONLD/src/main/python/net/coderextreme/data/JinLOA4.py",
                              line 148, in <module> <br>
                                 HAnimHumanoid23.setValue(MetadataSet24)
                              <br>
                              AttributeError:
                              'org.web3d.x3d.jsail.HAnim.HAnimHumanoid'
                              object has no attribute 'setValue'. Did
                              you mean: 'setName'? <br>
                              <b><span
                                  style="color:#5454FF;background:white">~/X3DJSONLD/src/main/python/net/x3djsonld/data</span></b><span
                                style="color:black;background:white">$
                                python JinLOA4.py        </span><br>
                              x3d.py package loaded, have fun with X3D
                              Graphics! <br>
                              Traceback (most recent call last): <br>
                               File
"/home/coderextreme/X3DJSONLD/src/main/python/net/x3djsonld/data/JinLOA4.py",
                              line 50, in <module> <br>
   HAnimHumanoid(DEF='hanim_JinLOA4',loa=4,name='JinLOA4',scale=(0.0225,0.0225,0.0225),version='2.0',
                              <br>
                              TypeError: HAnimHumanoid.__init__() got an
                              unexpected keyword argument 'value'</span><o:p></o:p></p>
                          <p><o:p> </o:p></p>
                          <p><o:p> </o:p></p>
                          <p><br>
                            <b><span style="font-family:"Courier
                                New";color:#5454FF;background:white">~/X3DJSONLD/src/main/data</span></b><span
                              style="font-family:"Courier
                              New";color:black;background:white">$
                              git diff JinLOA4.json </span><span
                              style="font-family:"Courier
                              New""><br>
                              <b><span
                                  style="color:black;background:white">diff
                                  --git a/src/main/data/JinLOA4.json
                                  b/src/main/data/JinLOA4.json</span></b><span
                                style="color:black;background:white"> </span><br>
                              <b><span
                                  style="color:black;background:white">index
                                  c970a652a..e1930f4cf 100644</span></b><span
                                style="color:black;background:white"> </span><br>
                              <b><span
                                  style="color:black;background:white">---
                                  a/src/main/data/JinLOA4.json</span></b><span
                                style="color:black;background:white"> </span><br>
                              <b><span
                                  style="color:black;background:white">+++
                                  b/src/main/data/JinLOA4.json</span></b><span
                                style="color:black;background:white"> </span><br>
                              <span
                                style="color:#18B2B2;background:white">@@
                                -78,7 +78,7 @@</span><span
                                style="color:black;background:white"> </span><br>
                                        }, <br>
                                        { <br>
                                          "@name":"translated", <br>
                              <span
                                style="color:#B21818;background:white">-
                                           "@content":"14 October 2021"</span><span
                                style="color:black;background:white"> </span><br>
                              <span
                                style="color:#18B218;background:white">+
                                           "@content":"20 December 2021"</span><span
                                style="color:black;background:white"> </span><br>
                                        }, <br>
                                        { <br>
                                          "@name":"generator", <br>
                              <span
                                style="color:#18B2B2;background:white">@@
                                -116,7 +116,7 @@</span><span
                                style="color:black;background:white"> </span><br>
                                            "@loa":4, <br>
              "@scale":[0.0225,0.0225,0.0225], <br>
                                            "@version":"2.0", <br>
                              <span
                                style="color:#B21818;background:white">-
                                             "-metadata":</span><span
                                style="color:black;background:white"> </span><br>
                              <span
                                style="color:#18B218;background:white">+
                                             "-value":[</span><span
                                style="color:black;background:white"> </span><br>
                                              { "MetadataSet": <br>
                                                { <br>
                    "@name":"HAnimHumanoid.info", <br>
                              <span
                                style="color:#18B2B2;background:white">@@
                                -160,7 +160,8 @@</span><span
                                style="color:black;background:white"> </span><br>
                                                    } <br>
                                                  ] <br>
                                                } <br>
                              <span
                                style="color:#B21818;background:white">-
                                               },</span><span
                                style="color:black;background:white"> </span><br>
                              <span
                                style="color:#18B218;background:white">+
                                               }</span><span
                                style="color:black;background:white"> </span><br>
                              <span
                                style="color:#18B218;background:white">+
                                             ],</span><span
                                style="color:black;background:white"> </span><br>
                                            "-skeleton":[ <br>
                                              { "HAnimJoint": <br>
                                                {<br>
                              <br>
                              ===================</span><o:p></o:p></p>
                          <p><span style="font-family:"Courier
                              New"">Validating JSON against schema:</span><o:p></o:p></p>
                          <p><b><span style="font-family:"Courier
                                New";color:#5454FF;background:white">~/X3DJSONLD/src/main/schema</span></b><span
                              style="font-family:"Courier
                              New";color:black;background:white">$
                              node ~/x3dvalidate/x3dvalidate.js
                              ../data/JinLOA4.json  </span><span
                              style="font-family:"Courier
                              New""><br>
                              Loading schema <br>
                              Parsing schema <br>
                              Adding schema <br>
                              Schema 4.0 added <br>
                              Schema 4.0 compiled <br>
================================================================================
                              <br>
                              File: ../data/JinLOA4.json <br>
                              Error reading ../data/JinLOA4.json  <br>
                              keyword: required <br>
                              instancePath:
                              /X3D/Scene/-children/3/HAnimHumanoid <br>
                              message: must have required property @USE
                              <br>
                              params: {"missingProperty":"@USE"} <br>
                              file: ../data/JinLOA4.json <br>
                              version: 4.0 <br>
                              <br>
                              keyword: additionalProperties <br>
                              instancePath:
                              /X3D/Scene/-children/3/HAnimHumanoid <br>
                              message: must NOT have additional
                              properties <br>
                              params: {"additionalProperty":"-value"} <br>
                              file: ../data/JinLOA4.json <br>
                              version: 4.0 <br>
                              <br>
                              keyword: oneOf <br>
                              instancePath:
                              /X3D/Scene/-children/3/HAnimHumanoid <br>
                              message: must match exactly one schema in
                              "oneOf" <br>
                              params: {"passingSchemas":null} <br>
                              file: ../data/JinLOA4.json <br>
                              version: 4.0</span><o:p></o:p></p>
                        </div>
                      </blockquote>
                    </div>
                  </div>
                </blockquote>
              </div>
            </div>
          </div>
        </div>
      </blockquote>
    </blockquote>
  </body>
</html>