<div dir="ltr">You X3D want examples? Here's an example, attached.<div><br></div><div>Note that X3DJSAIL reports some things on Layer and LayoutLayer children I have some questions about.  Specific errors are way below.</div><div><br></div><div>Here are relevant sections of the standards and X3DJSAIL that show some children of Layout and LayoutLayer are not being handled by X3DLoaderDOM.java</div><div><br></div><div><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">Layer : X3DLayerNode { 
  MFNode   [in]     addChildren          [X3DChildNode]
  MFNode   [in]     removeChildren       [X3DChildNode]
  MFNode   [in,out] children       []    [<span style="background-color:rgb(255,0,0)">X3DChildNode</span>]
  SFNode   [in,out] metadata       NULL  [X3DMetadataObject]
  MFString [in,out] objectType     "ALL" ["ALL","NONE","TERRAIN",...]
  SFBool   [in,out] pickable       TRUE
  SFNode   [in,out] viewport       NULL  [X3DViewportNode]
  SFBool   [in,out] visible        TRUE
}</pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre class="gmail-node" style="font-size:11.05px;margin-left:25px">LayoutLayer : X3DLayerNode { 
  MFNode   [in]     addChildren          [X3DChildNode]
  MFNode   [in]     removeChildren       [X3DChildNode]
  MFNode   [in,out] children       []    [<span style="background-color:rgb(255,0,0)">X3DChildNode</span>]
  SFNode   [in,out] layout         NULL  [X3DLayoutNode]
  SFNode   [in,out] metadata       NULL  [X3DMetadataObject]
  MFString [in,out] objectType     "ALL" ["ALL","NONE","TERRAIN",...]
  SFBool   [in,out] pickable    TRUE
  SFNode   [in,out] viewport       NULL  [X3DViewportNode]
  SFBool   [in,out] visible        TRUE
}</pre></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">So I look for childnodes reported below to see if they inherit from X3DChildNode.  I think that Group and Transform are obviously X3DChildNode.</pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">Script:

</pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre class="gmail-node" style="font-size:11.05px;margin-left:25px">X3DScriptNode : <span style="background-color:rgb(255,0,0)">X3DChildNode</span>, X3DURLObject {
  SFTime   [in,out] autoRefresh          0.0  [0,∞)
  SFTime   [in,out] autoRefreshTimeLimit 3600.0  [0,∞)
  SFString [in,out] description          ""
  SFBool   [in,out] load                 TRUE
  SFNode   [in,out] metadata             NULL [X3DMetadataObject]

  MFString [in,out] url                  []   [URI]
}</pre></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">Viewpoint:

</pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre class="gmail-node" style="font-size:11.05px;margin-left:25px">X3DViewpointNode : <span style="background-color:rgb(255,0,0)">X3DBindableNode </span>{
  SFBool     [in]     set_bind
  SFVec3f/d  [in,out] centerOfRotation  0 0 0     (-∞,∞)
  SFString   [in,out] description       ""
  SFFloat    [in,out] farDistance       -1        -1 or (0,∞)
  SFBool     [in,out] jump              TRUE
  SFNode     [in,out] metadata          NULL      [X3DMetadataObject]
  SFNode     [in,out] navigationInfo    NULL      [NavigationInfo]
  SFFloat    [in,out] nearDistance      -1        -1 or (0,∞)
  SFRotation [in,out] orientation       0 0 1 0   (-∞,∞)
  SFVec3f/d  [in,out] position          0 0 10    (-∞,∞)
  SFBool     [in,out] retainUserOffsets FALSE
  SFBool     [in,out] viewAll           FALSE
  SFTime     [out]    bindTime
  SFBool     [out]    isBound
}</pre></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">And later:</pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre class="gmail-node" style="font-size:11.05px;margin-left:25px">X3DBindableNode : <span style="background-color:rgb(255,0,0)">X3DChildNode </span>{
  SFBool [in]     set_bind
  SFNode [in,out] metadata NULL [X3DMetadataObject]
  SFTime [out]    bindTime
  SFBool [out]    isBound
}</pre></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">Layout:

</pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre class="gmail-node" style="font-size:11.05px;margin-left:25px">X3DLayoutNode : <span style="background-color:rgb(255,0,0)">X3DChildNode </span>{
  SFNode [in,out] metadata NULL [X3DMetadataObject]
}</pre>



<div class="gmail-header" style="color:rgb(53,56,51);font-family:"DejaVu Sans",Arial,Helvetica,sans-serif;font-size:14px;white-space:normal"><h1 title="Class ProtoDeclare" class="gmail-title" style="font-size:1.428em;max-height:1000em;margin:10px 0px">Class ProtoDeclare</h1></div><div class="gmail-inheritance" title="Inheritance Tree" style="margin:0px;padding:0px;color:rgb(53,56,51);font-family:"DejaVu Sans",Arial,Helvetica,sans-serif;font-size:14px;white-space:normal"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" style="text-decoration-line:none">java.lang.Object</a><div class="gmail-inheritance" style="margin:0px 0px 0px 2em;padding:0px"><a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/X3DConcreteElement.html" title="class in org.web3d.x3d.jsail" style="text-decoration-line:none">org.web3d.x3d.jsail.X3DConcreteElement</a><div class="gmail-inheritance" style="margin:0px 0px 0px 2em;padding:0px"><a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/X3DConcreteStatement.html" title="class in org.web3d.x3d.jsail" style="text-decoration-line:none">org.web3d.x3d.jsail.X3DConcreteStatement</a><div class="gmail-inheritance" style="margin:0px 0px 0px 2em;padding:0px">org.web3d.x3d.jsail.Core.ProtoDeclare</div></div></div></div><div class="gmail-horizontal-scroll" style="overflow:auto hidden;margin-bottom:4px"><dl class="gmail-notes"><dt style="font-size:0.856em;font-weight:bold;margin:10px 0px 0px">All Implemented Interfaces:</dt><dd style="margin:5px 10px 10px 0px;font-size:1em"><code style="padding-top:4px;margin-top:8px;line-height:1.4em"><a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/sai/Core/X3DChildNode.html" title="interface in org.web3d.x3d.sai.Core" style="text-decoration-line:none;background-color:rgb(255,0,0)">X3DChildNode</a></code>, <code style="padding-top:4px;margin-top:8px;line-height:1.4em"><a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/sai/Core/X3DNode.html" title="interface in org.web3d.x3d.sai.Core" style="text-decoration-line:none">X3DNode</a></code></dd></dl></div><br class="gmail-Apple-interchange-newline">


<div class="gmail-header" style="color:rgb(53,56,51);font-family:"DejaVu Sans",Arial,Helvetica,sans-serif;font-size:14px;white-space:normal"><h1 title="Class ProtoInstance" class="gmail-title" style="font-size:1.428em;max-height:1000em;margin:10px 0px">Class ProtoInstance</h1></div><div class="gmail-inheritance" title="Inheritance Tree" style="margin:0px;padding:0px;color:rgb(53,56,51);font-family:"DejaVu Sans",Arial,Helvetica,sans-serif;font-size:14px;white-space:normal"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" style="text-decoration-line:none">java.lang.Object</a><div class="gmail-inheritance" style="margin:0px 0px 0px 2em;padding:0px"><a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/X3DConcreteElement.html" title="class in org.web3d.x3d.jsail" style="text-decoration-line:none">org.web3d.x3d.jsail.X3DConcreteElement</a><div class="gmail-inheritance" style="margin:0px 0px 0px 2em;padding:0px"><a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/jsail/X3DConcreteNode.html" title="class in org.web3d.x3d.jsail" style="text-decoration-line:none">org.web3d.x3d.jsail.X3DConcreteNode</a><div class="gmail-inheritance" style="margin:0px 0px 0px 2em;padding:0px">org.web3d.x3d.jsail.Core.ProtoInstance</div></div></div></div><div class="gmail-horizontal-scroll" style="overflow:auto hidden;margin-bottom:4px"><dl class="gmail-notes"><dt style="font-size:0.856em;font-weight:bold;margin:10px 0px 0px">All Implemented Interfaces:</dt><dd style="margin:5px 10px 10px 0px;font-size:1em"><code style="padding-top:4px;margin-top:8px;line-height:1.4em"><a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/sai/Core/X3DChildNode.html" title="interface in org.web3d.x3d.sai.Core" style="text-decoration-line:none;background-color:rgb(255,0,0)">X3DChildNode</a></code>, <code style="padding-top:4px;margin-top:8px;line-height:1.4em"><a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/sai/Core/X3DNode.html" title="interface in org.web3d.x3d.sai.Core" style="text-decoration-line:none">X3DNode</a></code>, <code style="padding-top:4px;margin-top:8px;line-height:1.4em"><a href="https://www.web3d.org/specifications/java/javadoc/org/web3d/x3d/sai/Core/X3DPrototypeInstance.html" title="interface in org.web3d.x3d.sai.Core" style="text-decoration-line:none">X3DPrototypeInstance</a></code></dd></dl></div><br class="gmail-Apple-interchange-newline"><br></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">I don't see anything wrong with the standard, but I don't know about X3DJSAIL validation.</pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">This may be an old version of X3DJSAIL, I will download a new copy from the website.


</pre></div><div><br></div><div>Thanks,</div><div><br></div><div>John</div><div><br></div><div>[error] X3DLoaderDOM: Parent-child node relationship not found! (parent Layer, child Collision, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>[error] X3DLoaderDOM: Parent-child node relationship not found! (parent Layer, <span style="background-color:rgb(255,0,0)">child Group</span>, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>[error] X3DLoaderDOM: Parent-child node relationship not found! (parent Layer, child ROUTE, containerField='') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>[error] X3DLoaderDOM: Parent-child node relationship not found! (parent Layer,<span style="background-color:rgb(255,0,0)"> child Script</span>, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>[error] X3DLoaderDOM: Parent-child node relationship not found! (parent Layer,<span style="background-color:rgb(255,0,0)"> child Transform</span>, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>[error] X3DLoaderDOM: Parent-child node relationship not found! (parent LayoutLayer, <span style="background-color:rgb(255,0,0)">child Layout</span>, containerField='layout') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>[error] X3DLoaderDOM: Parent-child node relationship not found! (parent LayoutLayer, <span style="background-color:rgb(255,0,0)">child ProtoDeclare</span>, containerField='') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>[error] X3DLoaderDOM: Parent-child node relationship not found! (parent LayoutLayer, child ProtoInstance, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>[error] X3DLoaderDOM: Parent-child node relationship not found! (parent LayoutLayer, <span style="background-color:rgb(255,0,0)">child Transform</span>, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br>[error] X3DLoaderDOM: Parent-child node relationship not found! (parent LayoutLayer,<span style="background-color:rgb(255,0,0)"> child Viewport</span>, containerField='viewport') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a><br></div><div><br></div><div><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre><pre class="gmail-node" style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><br></pre></div></div>