<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>I don't see the "empty array" ulimit and llimit defaults They
look like 0 0 0. Perhaps the attached screenshot is wrong?<br>
</p>
<p>See:</p>
<p><a class="moz-txt-link-freetext" href="https://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0_HAnimJoint.html">https://www.web3d.org/specifications/X3dSchemaDocumentation4.0/x3d-4.0_HAnimJoint.html</a></p>
<p>screenshot attached.</p>
<p><img src="cid:part1.BNThnEEh.XJw7o3SS@gmail.com" alt=""></p>
<div class="moz-cite-prefix">On 12/24/21 11:14, Brutzman, Donald
(Don) (CIV) wrote:<br>
</div>
<blockquote type="cite"
cite="mid:BY3PR13MB488466D1E644F984ED2EF4B4C47F9@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:"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;}@font-face
{font-family:"Courier New \,serif";
panose-1:0 0 0 0 0 0 0 0 0 0;}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;}a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
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;}p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}span.EmailStyle20
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}span.EmailStyle21
{mso-style-type:personal;
font-family:"Calibri",sans-serif;
color:windowtext;}span.EmailStyle22
{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">The default containerField values can
always be found in X3D DTD, XML Schema and X3DUOM.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">A containerField error can only occur if it
incorrectly describes the field relationship between a node
and a parent. Our validation tools are pretty robust so you
only have to worry about conversion errors if you want. As we
saw during this thread, the root-cause problem can occur due
to incorrect X3D model.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Found an error in X3D XML Schema and
X3DUOM: default values for HAnimJoint ulimit llimit fields
are empty array, not 0 0 0. Checked in, will deploy updates.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I found some other small adjustments in X3D
Canonicalizer and X3dTidy during regression testing last
night. For author clarity, am always including containerField
values for X3D3 scenes. For terseness, only Metadata*
containerField=’metadata’ is included for X3D4. All
HumanoidAnimation .x3d examples are rechecked with tools,
updated and checked in. Re-running regression tests and will
eventually upload updated models (probably while Santa is
somewhere overhead).<o:p></o:p></p>
<div>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">all the best, Don<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">--
<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New",serif">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",serif">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",serif">X3D graphics, virtual worlds, navy
robotics https://</span>
<span style="font-size:10.0pt;font-family:"Courier
New",serif">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> Thursday, December 23, 2021 11:24 PM<br>
<b>To:</b> Brutzman, Donald (Don) (CIV)
<a class="moz-txt-link-rfc2396E" href="mailto:brutzman@nps.edu"><brutzman@nps.edu></a><br>
<b>Cc:</b> 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? HAnimHumanoid explained, problem
identified, corrections applied<o:p></o:p></p>
</div>
</div>
<div>
<p>Excellent catch! What should the default be if there's no
containerField? Throw an error?<o:p></o:p></p>
<p>John<o:p></o:p></p>
<div>
<p class="MsoNormal">On 12/24/21 00:45, Brutzman, Donald
(Don) (CIV) wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">The error was in the source .x3d file,
the MetadataSet within HAnimHumanoid need correct
containerField definition:<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<ol style="margin-top:0in" type="1" start="1">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l0 level1 lfo1"><MetadataSet
name='HAnimHumanoid.info' containerField='metadata' etc.
<o:p></o:p></li>
</ol>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New
,serif",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New
,serif",serif">all the best, Don</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New
,serif",serif">--
</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New
,serif",serif">Don Brutzman Naval Postgraduate
School, Code USW/Br
<a href="mailto:brutzman@nps.edu"
moz-do-not-send="true" class="moz-txt-link-freetext">brutzman@nps.edu</a></span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New
,serif",serif">Watkins 270, MOVES Institute,
Monterey CA 93943-5000 USA +1.831.656.2149</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier New
,serif",serif">X3D graphics, virtual worlds, navy
robotics https://</span>
<span style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">faculty.nps.edu/brutzman</span><o:p></o:p></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
href="mailto:yottzumm@gmail.com"
moz-do-not-send="true">
<yottzumm@gmail.com></a> <br>
<b>Sent:</b> Thursday, December 23, 2021 10:40 PM<br>
<b>To:</b> Brutzman, Donald (Don) (CIV) <a
href="mailto:brutzman@nps.edu"
moz-do-not-send="true"><brutzman@nps.edu></a><br>
<b>Cc:</b> X3D Graphics public mailing list <a
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? HAnimHumanoid
explained, problem identified, corrections applied<o:p></o:p></p>
</div>
</div>
<div>
<p>I think there's still a error in X3dToJson.xslt,
conversion from XML to JSON produces<o:p></o:p></p>
<p>[snippet]<o:p></o:p></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>
<b><u> "-value":[ </u></b> <br>
{ "MetadataSet":<br>
{ "-value":[ <o:p></o:p></p>
<p> <o:p></o:p></p>
<p>I believe this affects all my downstream serialzers.<o:p></o:p></p>
<p>I will double check that I am using the stylesheet.<o:p></o:p></p>
<p>John<o:p></o:p></p>
<div>
<p class="MsoNormal">On 12/23/21 13:50, Brutzman, Donald
(Don) (CIV) wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<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>
<ol style="margin-top:0in" type="1" start="1">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2">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:l1 level1 lfo2"><a
href="https://www.web3d.org/documents/specifications/19774-1/V2.0/Architecture/Obje"
moz-do-not-send="true"
class="moz-txt-link-freetext">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>
</ol>
<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>
<ol style="margin-top:0in" type="1" start="3">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2">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:l1 level1 lfo2"><a
href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/hanim.html#HAnimHumanoid"
moz-do-not-send="true"
class="moz-txt-link-freetext">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/hanim.html#HAnimHumanoid</a><o:p></o:p></li>
</ol>
<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",serif">HAnimHumanoid : X3DChildNode,
X3DBoundedObject {</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFVec3f [in,out]
center 0 0 0 (-∞,∞)</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFString [in,out]
description ""</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFBool [in,out]
bboxDisplay FALSE</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFBool [in,out]
visible TRUE</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFString [in,out]
info []</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFVec3f [in,out]
jointBindingPositions [] (-∞,∞)</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFRotation [in,out]
jointBindingRotations [] (-∞,∞)|[-1,1]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFVec3f [in,out]
jointBindingScales [] (0,∞)</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFNode [in,out]
joints [] [HAnimJoint]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFInt32 [in,out]
loa -1 [-1,4]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFNode [in,out]
metadata NULL [X3DMetadataObject]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFNode [in,out]
motions [] [HAnimMotion]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFBool [in,out]
motionsEnabled []</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFString [in,out]
name ""</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFRotation [in,out]
rotation 0 0 1 0 (-∞,∞)|[-1,1]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFVec3f [in,out]
scale 1 1 1 (0,∞)</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFRotation [in,out]
scaleOrientation 0 0 1 0 (-∞,∞)|[-1,1]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFNode [in,out]
segments [] [HAnimSegment]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFNode [in,out]
sites [] [HAnimSite]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFString [in,out]
skeletalConfiguration "BASIC"</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFNode [in,out]
skeleton [] [HAnimJoint,
HAnimSite]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFNode [in,out]
skin []
<s><span style="color:black;background:orange">[IndexedFaceSet,
X3DGroupingNode, Shape]</span></s><span
style="color:black;background:yellow">[IndexedFaceSet,
IndexedFanSet, IndexedQuadSet, IndexedTriangleSet,
IndexedTriangleStripSet]</span></span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFNode [in,out]
skinBindingCoord NULL [X3DCoordinateNode]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFNode [in,out]
skinBindingNormal NULL [X3DNormalNode]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFNode [in,out]
skinCoord NULL [X3DCoordinateNode]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFNode [in,out]
skinNormal NULL [X3DNormalNode]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFVec3f [in,out]
translation 0 0 0 (-∞,∞)</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFString [in,out]
version ""</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> MFNode [in,out]
viewpoints [] [HAnimSite]</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFVec3f []
bboxCenter 0 0 0 (-∞,∞)</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif"> SFVec3f []
bboxSize -1 -1 -1 [0,∞) or −1 −1 −1</span><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:18.75pt"><span
style="font-size:8.5pt;font-family:"Courier
New",serif">}</span><o:p></o:p></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>
<ol style="margin-top:0in" type="1" start="5">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2"><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>
</ol>
<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="border:none;border-bottom:solid windowtext
1.5pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<ol style="margin-top:0in" type="1" start="6">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2">HumanoidAnimation
X3D Examples Archive<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2"><a
href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation"
moz-do-not-send="true"
class="moz-txt-link-freetext">https://www.web3d.org/x3d/content/examples/HumanoidAnimation</a><o:p></o:p></li>
</ol>
<div style="border:none;border-bottom:solid windowtext
1.5pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<ol style="margin-top:0in" type="1" start="8">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2">X3D
Example Archives: Humanoid Animation, Characters,
Jin LOA 4<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2"><a
href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4Index.html"
moz-do-not-send="true"
class="moz-txt-link-freetext">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:l1 level1 lfo2"><a
href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.html#hanim_JinLOA4"
moz-do-not-send="true"
class="moz-txt-link-freetext">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JinLOA4.html#hanim_JinLOA4</a><o:p></o:p></li>
</ol>
<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
href="https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid"
moz-do-not-send="true"
class="moz-txt-link-freetext">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
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="border:none;border-bottom:solid windowtext
1.5pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal"> </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>
</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>
<ol style="margin-top:0in" type="1" start="11">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2">X3D
Tooltips HAnimHumanoid
<o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2"><a
href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html#HAnimHumanoid"
moz-do-not-send="true"
class="moz-txt-link-freetext">https://www.web3d.org/x3d/tooltips/X3dTooltips.html#HAnimHumanoid</a><o:p></o:p></li>
</ol>
<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>
<ol style="margin-top:0in" type="1" start="13">
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2"><a
href="https://www.web3d.org/specifications"
moz-do-not-send="true"
class="moz-txt-link-freetext">https://www.web3d.org/specifications</a><o:p></o:p></li>
<li class="MsoListParagraph"
style="margin-left:0in;mso-list:l1 level1 lfo2"><a
href="https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml"
moz-do-not-send="true"
class="moz-txt-link-freetext">https://www.web3d.org/specifications/X3dUnifiedObjectModel-4.0.xml</a><o:p></o:p></li>
</ol>
<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
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
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
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 ,serif",serif">
HAnimHumanoid(DEF='hanim_JinLOA4',loa=4,name='JinLOA4',scale=(0.0225,0.0225,0.0225),version='2.0',</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> skeleton=[</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">
HAnimJoint(DEF='hanim_humanoid_root',center=(0,36.709999,-0.707600),name='humanoid_root',stiffness=[0,0,0],</span><o:p></o:p></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 ,serif",serif">create python:</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">C:\x3d-code\<a
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...</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">C:\x3d-code\<a
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...</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">validate python:</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">x3d.py package loaded,
have fun with X3D Graphics!</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">Traceback (most recent
call last):</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> File "C:\x3d-code\<a
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></span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">
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],</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> File "C:\x3d-code\<a
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__</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> self.stiffness =
stiffness</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> File "C:\x3d-code\<a
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</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">
assertValidSFVec3f(stiffness)</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> File "C:\x3d-code\<a
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</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> raise
X3DTypeError(str(value)[:100] + ', type=' +
str(type(value)) + ' is not a valid Python tuple
for SFVec3f')</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">x3d.X3DTypeError: [0, 0,
0], type=<class 'list'> is not a valid
Python tuple for SFVec3f</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">Result: 1</span><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Note how <span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">
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 ,serif",serif">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
href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/hanim.html#HAnimJoint"
moz-do-not-send="true"
class="moz-txt-link-freetext">
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 ,serif",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">26.3.3 HAnimJoint</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">HAnimJoint :
X3DGroupingNode {</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">[…]</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> MFFloat [in,out]
stiffness [0 0 0] [0,1]</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> </span><o:p></o:p></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 ,serif",serif">23 DEC 2021, carlson
brutzman</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">- restore type of
HAnimJoint stiffness field as MFFloat (vice
SFVec3f) to match</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> specification, since
more-advanced kinematics engines might someday
hold interest.</span><o:p></o:p></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 ,serif",serif">=====================</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">create python:</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">C:\x3d-code\<a
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...</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">C:\x3d-code\<a
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...</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">validate python:</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">x3d.py package loaded,
have fun with X3D Graphics!Traceback (most recent
call last):</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> File "C:\x3d-code\<a
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></span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">
HAnimHumanoid(DEF='hanim_JinLOA4',loa=4,name='JinLOA4',scale=(0.0225,0.0225,0.0225),version='2.0',</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">TypeError:
HAnimHumanoid.__init__() got an unexpected keyword
argument 'value'</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">Result: 1</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">=====================</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> </span><o:p></o:p></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 ,serif",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">
value=MetadataSet(name='HAnimHumanoid.info',reference='<a
href="https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid"
moz-do-not-send="true"
class="moz-txt-link-freetext">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 ,serif",serif">
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)<o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif"> </span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">all the best, Don</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">--
</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">Don Brutzman Naval
Postgraduate School, Code USW/Br
<a href="mailto:brutzman@nps.edu"
moz-do-not-send="true"
class="moz-txt-link-freetext">brutzman@nps.edu</a></span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">Watkins 270, MOVES
Institute, Monterey CA 93943-5000 USA
+1.831.656.2149</span><o:p></o:p></p>
<p class="MsoNormal"><span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">X3D graphics, virtual
worlds, navy robotics https://</span>
<span
style="font-size:10.0pt;font-family:"Courier
New ,serif",serif">faculty.nps.edu/brutzman</span><o:p></o:p></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
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
href="mailto:brutzman@nps.edu"
moz-do-not-send="true"><brutzman@nps.edu></a>;
X3D Graphics public mailing list
<a 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-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<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-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<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>~/X3DJSONLD/src/main/python/net/coderextreme/data</b>$
python JinLOA4.py <span
style="font-family:"Courier New
,serif",serif"><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>~/X3DJSONLD/src/main/data</b>$ git
diff JinLOA4.json <span
style="font-family:"Courier New
,serif",serif">
<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
,serif",serif">Validating JSON
against schema:</span><o:p></o:p></p>
<p><b>~/X3DJSONLD/src/main/schema</b>$
node ~/x3dvalidate/x3dvalidate.js
../data/JinLOA4.json <span
style="font-family:"Courier New
,serif",serif"><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>
</blockquote>
</div>
</blockquote>
</div>
</div>
</blockquote>
</body>
</html>