<div dir="auto">Sure, for XML you at least need ID.  I’m not convinced you need IDREF if you can use a directed acyclic graph in memory.  Unfortunately, single parent fields are required for XML DOM and HTML DOM.  I guess no one thinks to look up ID (USE) by object reference.  Actually object-capabilities are probably preferred, which can be integers on some systems.  On the wire, you may want to distinguish ID from IDREF, but I’m unclear on technical reasons.  Why?  Why not use ID everywhere and replace it with an object reference from a bidirectional map?  Or just store 2 lookup tables?  If it refers to the same node/object, use the same ID!</div><div dir="auto"><br></div><div dir="auto">If you consider DOM only as an I/O mechanism, things get much simpler.</div><div dir="auto"><br></div><div dir="auto">Furthermore, glTF uses array indexes everywhere.  Not that I agree with it, it just shows USE is not required technically.  Yes, indexes and lookup tables are required if you don’t have USE, but AFAIK, USE requires a lookup table as well. Unless you’re going to search the whole scenegraph for the DEF.  Ouch!</div><div dir="auto"><br></div><div dir="auto">John </div><div><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Fri, Mar 27, 2026 at 8:22 PM Don Brutzman <<a href="mailto:don.brutzman@gmail.com">don.brutzman@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>It is not possible to avoid USE, it is fully integrated functionality in the specification.  No need to reengineer the specification.</div><div><br></div><div>Again recommend working on one very simple case at a time, to narrow down each problem and fix it.  Complexity obscures diagnosis.</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"></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 27, 2026 at 6:08 PM John Carlson via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Replacing USE with DEF would massively improve the JSON schema.   I vote for that!   It would massively improve the error reporting as well.<div dir="auto"><br></div><div dir="auto">What does FreeWRL think?</div><div dir="auto"><br></div><div dir="auto">No need for two attributes for the same meaning.</div><div dir="auto"><br></div><div dir="auto">USE and DEF code be used interchangeably, and container fields could specify parents.</div><div dir="auto"><br></div><div dir="auto">The only problem I see is when USE and DEF are used together, but that’s already an issue.</div><div dir="auto"><br></div><div dir="auto">John</div></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
_______________________________________________<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>
</blockquote></div></div>