<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<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">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">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">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">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">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">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'/"><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">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">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">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â€">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">"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">"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">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">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">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">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">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">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">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">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">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">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">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" href="mailto:brutzman@nps.edu">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"><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"><brutzman@nps.edu></a>; X3D Graphics public mailing list
<a class="moz-txt-link-rfc2396E" href="mailto:x3d-public@web3d.org"><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>
</body>
</html>