<div dir="ltr"><div>John, thanks for flagging this difficulty. It turns out there was an omission in the schema, which led to omissions in X3DUOM and corresponding APIs. Now fixed.</div><div><ul><li><b>X3D version 4.1 XML Schema Documentation</b></li><li><a href="https://www.web3d.org/specifications/X3dSchemaDocumentation4.1/x3d-4.1.html">https://www.web3d.org/specifications/X3dSchemaDocumentation4.1/x3d-4.1.html</a></li><li>then <b>HAnimPose</b></li><li><a href="https://www.web3d.org/specifications/X3dSchemaDocumentation4.1/x3d-4.1_HAnimPose.html">https://www.web3d.org/specifications/X3dSchemaDocumentation4.1/x3d-4.1_HAnimPose.html</a></li></ul></div><div>Also missing was documentation for HAnimPose children field in X3D Tooltips, emphasizing that only HAnimJoint nodes go in this field.</div><div><ul><li><b>X3D Tooltips, HAnimPose node, children field</b></li><li><a href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html#HAnimPose.children">https://www.web3d.org/x3d/tooltips/X3dTooltips.html#HAnimPose.children</a></li><li><b style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium">[children <a href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html#accessType" title="initializable field that can send or receive events at run time">accessType inputOutput</a>, <a href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html#MFNode" title="Multi-Field node array value">type MFNode</a> array, empty list] [<a title="X3D concrete node" href="https://www.web3d.org/x3d/tooltips/X3dTooltips.html#HAnimJoint">HAnimJoint</a>]</b><br style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium"><span style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium;background-color:rgb(255,255,187)">The children field lists all HAnimJoint nodes making up this pose. Contained HAnimJoint nodes provide center, rotation, and scale values which are applied to corresponding HAnimJoint nodes with the same name in the parent HAnimHumanoid skeleton.</span><br style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium"><font color="#ee5500" style="font-family:"Times New Roman";font-size:medium"><b>Warning:</b></font><span style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium;background-color:rgb(255,255,187)"> these nodes must be independent of HAnimHumanoid skeleton joints, do not re-USE any skeleton HAnimJoint nodes.</span><br style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium"><font color="#ee5500" style="font-family:"Times New Roman";font-size:medium"><b>Warning:</b></font><span style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium;background-color:rgb(255,255,187)"> no other node types are allowed in the HAnimPose children field.</span></li></ul></div><div>The X3DUOM page has a lot of detailed information. I also took this opportunity to generate new X3DUOM documentation, using the XML Schema which keeps it in order.</div><div><ul><li><b>X3D Unified Object Model (X3DUOM)</b></li><li>The X3D Unified Object Model (X3DUOM) is a full set of object-oriented interfaces for all nodes, fields and statements in the X3D Architecture Specification. This XML file is both human-readable and machine-readable, serving as the basis for multiple autogenerated tools and diagnostics.</li><li><a href="https://www.web3d.org/specifications/X3DUOM.html">https://www.web3d.org/specifications/X3DUOM.html</a> then select </li><li>Documentation with diagrams illustrating purpose and structures</li><li><a href="https://www.web3d.org/specifications/X3DUOM/documentation/X3dUnifiedObjectModel.html">https://www.web3d.org/specifications/X3DUOM/documentation/X3dUnifiedObjectModel.html</a></li></ul><div>A good way to check that everything propagated satisfactorily through this production chain is to check the autogenerated X3DJSAIL Javadoc.</div></div><div><ul><li><b>X3DJSAIL Javadoc, X3D Java Scene Access Interface Library</b></li><li><a href="https://www.web3d.org/specifications/java/javadoc/index.html">https://www.web3d.org/specifications/java/javadoc/index.html</a></li><li>for example HAnimPose</li><li><a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/HAnim/HAnimPose.html">https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/HAnim/HAnimPose.html</a></li></ul><div>Again thanks for reporting this difficulty, everything just got a little better.</div></div><div><br></div><div>Have fun with X3DUOM! 😬</div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="color:rgb(34,34,34)"><font face="monospace"><br></font></div><div style="color:rgb(34,34,34)"><font face="monospace">all the best, Don</font></div><div style="color:rgb(34,34,34)"><font face="monospace">-- </font></div><div style="color:rgb(34,34,34)"><font face="monospace">X3D Graphics, Maritime Robotics, Distributed Simulation</font></div><div style="color:rgb(34,34,34)"><font face="monospace">Relative Motion Consulting <a href="https://RelativeMotion.info" target="_blank">https://RelativeMotion.info</a></font></div></div></div></div><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Jan 13, 2026 at 4:18 PM John Carlson via x3d-public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I'm trying to validate HAnimJoint children of HAnimPose in JSON.<div><br></div><div>I have not validated any .x3d files yet.</div><div><br></div><div>I am looking at X3DUOM, under HAnimPose, I see:</div><div><br></div><div><NodeContentModel name="HAnimJoint"/></div><div><br></div><div>Under <ContentModel>.</div><div><br></div><div>I have not previously handled ContentModel, except for StatementContentModel.</div><div><br></div><div>I'm guessing the name= in a NodeContentModel refers to the node type (HAnimJoint in this case) allowed under the parent node (HAnimPose in this case).</div><div><br></div><div>Thanks for any assistance in reading X3DUOM.</div><div><br></div><div>I will proceed with handling NodeContentModel in JSON schema, perhaps GroupContentModel can be discussed later.</div><div><br></div><div>John</div><div><br></div><div><br></div></div>
_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div>