<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>A warning is the very correct way to handle this issue. The "name" attribute should be deprecated yet allowed in ProtoInstance with USE.</div>

<div> 
<div> 
<div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;"><b>Gesendet:</b> Samstag, 28. November 2020 um 18:50 Uhr<br/>
<b>Von:</b> "John Carlson" <yottzumm@gmail.com><br/>
<b>An:</b> "Christoph Valentin" <christoph.valentin@gmx.at><br/>
<b>Cc:</b> "X3D Graphics public mailing list" <x3d-public@web3d.org><br/>
<b>Betreff:</b> Re: [x3d-public] Fwd: ProtoInstance USE without name</div>

<div name="quoted-content">
<div>If someone uses name and USE in every ProtoInstance in X3D JSON, they will get a long list of warnings.   I’m just trying to prevent a lot of complaining users downstream in our development.   The sooner we make good checking tools, the better off we will be.   If we do maintain a name in the USE node, I think we should make sure the names are the same between DEF and USE nodes, which I don’t know how to do in JSON schema.   I suggest we make easily validated rules.</div>

<div> </div>

<div>John </div>

<div>
<div class="gmail_quote">
<div class="gmail_attr">On Sat, Nov 28, 2020 at 11:36 AM John Carlson <<a href="mailto:yottzumm@gmail.com" onclick="parent.window.location.href='mailto:yottzumm@gmail.com'; return false;" target="_blank">yottzumm@gmail.com</a>> wrote:</div>

<blockquote class="gmail_quote" style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left-width: 1.0px;border-left-style: solid;padding-left: 1.0ex;border-left-color: rgb(204,204,204);">
<div>Should one accept SQL injection?   No!</div>

<div> </div>

<div>Note:  I have not added any validation to X3DOM or X_ITE, and do not expect to.</div>

<div> </div>

<div>I do not expect to strip out validation from X3DJSONLD anytime soon.</div>

<div> </div>

<div>John</div>

<div> 
<div class="gmail_quote">
<div class="gmail_attr">On Sat, Nov 28, 2020 at 11:26 AM John Carlson <<a href="mailto:yottzumm@gmail.com" onclick="parent.window.location.href='mailto:yottzumm@gmail.com'; return false;" target="_blank">yottzumm@gmail.com</a>> wrote:</div>

<blockquote class="gmail_quote" style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left-width: 1.0px;border-left-style: solid;padding-left: 1.0ex;border-left-color: rgb(204,204,204);">
<div>If I accept everything, validation is useless.   That’s why I provide a way for the user to override :).</div>

<div> 
<div class="gmail_quote">
<div class="gmail_attr">On Sat, Nov 28, 2020 at 11:22 AM Christoph Valentin <<a href="mailto:christoph.valentin@gmx.at" onclick="parent.window.location.href='mailto:christoph.valentin@gmx.at'; return false;" target="_blank">christoph.valentin@gmx.at</a>> wrote:</div>

<blockquote class="gmail_quote" style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left-width: 1.0px;border-left-style: solid;padding-left: 1.0ex;border-left-color: rgb(204,204,204);">
<div>
<div style="line-height: 1;padding: 0.5em;">hi all<br/>
<br/>
Do you know Jon Postel's robustness principle?<br/>
<br/>
Be liberal in what you accept and conservative in what you send out.<br/>
<br/>
means: add the name attribute when sending<br/>
keep the name attribute when forwarding/proxying<br/>
ignore the name attribute when receiving.<br/>
kr<br/>
<br/>
--<br/>
Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.</div>

<div style="line-height: 1;padding: 0.3em;">
<div>Am 28.11.20, 17:58 schrieb John Carlson <<a href="mailto:yottzumm@gmail.com" onclick="parent.window.location.href='mailto:yottzumm@gmail.com'; return false;" target="_blank">yottzumm@gmail.com</a>>:</div>

<blockquote class="gmail_quote" style="margin: 0.8ex 0.0pt 0.0pt 0.8ex;border-left-width: 1.0px;border-left-style: solid;padding-left: 1.0ex;border-left-color: rgb(204,204,204);">
<div>Again, if USE is specified in a proto instance in X3D JSON, then X3DJSONLD and related tools will not validate a name property in the node.   I suggest X3dToJson.xslt reject the spurious name when generating JSON.</div>

<div> </div>

<div>John</div>

<div> 
<div class="gmail_quote">
<div class="gmail_attr">---------- Forwarded message ---------<br/>
From: <strong class="gmail_sendername">Christoph Valentin</strong> <span><<a href="mailto:christoph.valentin@gmx.at" onclick="parent.window.location.href='mailto:christoph.valentin@gmx.at'; return false;" target="_blank">christoph.valentin@gmx.at</a>></span><br/>
Date: Sat, Nov 28, 2020 at 8:18 AM<br/>
Subject: Re: [x3d-public] ProtoInstance USE without name<br/>
To: Andreas Plesch <<a href="mailto:andreasplesch@gmail.com" onclick="parent.window.location.href='mailto:andreasplesch@gmail.com'; return false;" target="_blank">andreasplesch@gmail.com</a>><br/>
CC: X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" onclick="parent.window.location.href='mailto:x3d-public@web3d.org'; return false;" target="_blank">x3d-public@web3d.org</a>></div>
 

<div>
<div style="font-family: Verdana;font-size: 12.0px;">
<div style="font-family: Verdana;">Hi Andreas,</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">I felt free to provide an example scene in three flavors.</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">The prototype renders a little pig that says "Eatme!", when you touch it (in remembrance of Douglas Adams)</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">Version A: <ProtoInstance USE="xxx" name="yyy"/>    WITH name attribute - standards compliant</div>

<div style="font-family: Verdana;">Version B: <ProtoInstance USE="xxx"/>  WITHOUT name attribute</div>

<div style="font-family: Verdana;">Version C: <Script USE="xxx"/>  WORKAROUND - works for all browsers</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">I tested with BS Contact --- he can cope with all three versions.</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">Download the .zip file at <a href="https://lc-soc-lc.at/experimental/ProtoInstanceWithUSE/" style="font-family: Verdana;" target="_blank">https://lc-soc-lc.at/experimental/ProtoInstanceWithUSE/</a>     I provide it by a GPLv3.</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">Feed Back welcome. You may take it and give it to your benchmark tests, if you like.</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">Kind regards,</div>

<div style="font-family: Verdana;">Christoph</div>

<div style="font-family: Verdana;"> 
<div style="font-family: Verdana;"> 
<div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0.0px 10.0px 10.0px;border-left-width: 2.0px;border-left-style: solid;font-family: Verdana;border-left-color: rgb(195,217,229);">
<div style="margin: 0.0px 0.0px 10.0px;font-family: Verdana;"><b style="font-family: Verdana;">Gesendet:</b> Dienstag, 24. November 2020 um 00:30 Uhr<br/>
<b style="font-family: Verdana;">Von:</b> "Andreas Plesch" <<a href="mailto:andreasplesch@gmail.com" onclick="parent.window.location.href='mailto:andreasplesch@gmail.com'; return false;" style="font-family: Verdana;" target="_blank">andreasplesch@gmail.com</a>><br/>
<b style="font-family: Verdana;">An:</b> "Christoph Valentin" <<a href="mailto:christoph.valentin@gmx.at" onclick="parent.window.location.href='mailto:christoph.valentin@gmx.at'; return false;" style="font-family: Verdana;" target="_blank">christoph.valentin@gmx.at</a>><br/>
<b style="font-family: Verdana;">Cc:</b> "X3D Graphics public mailing list" <<a href="mailto:x3d-public@web3d.org" onclick="parent.window.location.href='mailto:x3d-public@web3d.org'; return false;" style="font-family: Verdana;" target="_blank">x3d-public@web3d.org</a>><br/>
<b style="font-family: Verdana;">Betreff:</b> Re: [x3d-public] ProtoInstance USE without name</div>
</div>
</div>
</div>
</div>
</div>

<div>
<div style="font-family: Verdana;font-size: 12.0px;">
<div style="font-family: Verdana;">
<div style="font-family: Verdana;">
<div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0.0px 10.0px 10.0px;border-left-width: 2.0px;border-left-style: solid;font-family: Verdana;border-left-color: rgb(195,217,229);">
<div style="font-family: Verdana;">
<div style="font-family: Verdana;">Hi Christoph,
<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">thanks, interesting. Perhaps it will be useful to try a USE ProtoInstance in a very simple scene, in multiple browsers.</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">-Andreas</div>
</div>
 

<div class="gmail_quote" style="font-family: Verdana;">
<div class="gmail_attr" style="font-family: Verdana;">On Mon, Nov 23, 2020 at 1:01 PM Christoph Valentin <<a href="mailto:christoph.valentin@gmx.at" onclick="parent.window.location.href='mailto:christoph.valentin@gmx.at'; return false;" style="font-family: Verdana;" target="_blank">christoph.valentin@gmx.at</a>> wrote:</div>

<blockquote class="gmail_quote" style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left-width: 1.0px;border-left-style: solid;padding-left: 1.0ex;font-family: Verdana;border-left-color: rgb(204,204,204);">
<div style="font-family: Verdana;">
<div style="font-family: Verdana;font-size: 12.0px;">
<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">
<div style="font-family: Verdana;">Hi</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">This bug is common to many X3D players (even classical non-WebGL X3D players).</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">I was used to use following workaround, which worked for all relevant players:</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">If I want to USE a DEFd ProtoInstance, I will actually instantiate a <Script> node with USE.</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">KR,</div>

<div style="font-family: Verdana;">Christoph</div>

<div style="font-family: Verdana;"> 
<div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0.0px 10.0px 10.0px;border-left-width: 2.0px;border-left-style: solid;font-family: Verdana;border-left-color: rgb(195,217,229);">
<div style="margin: 0.0px 0.0px 10.0px;font-family: Verdana;"><b style="font-family: Verdana;">Gesendet:</b> Montag, 23. November 2020 um 00:00 Uhr<br/>
<b style="font-family: Verdana;">Von:</b> "Andreas Plesch" <<a href="mailto:andreasplesch@gmail.com" onclick="parent.window.location.href='mailto:andreasplesch@gmail.com'; return false;" style="font-family: Verdana;" target="_blank">andreasplesch@gmail.com</a>><br/>
<b style="font-family: Verdana;">An:</b> "X3D Graphics public mailing list" <<a href="mailto:x3d-public@web3d.org" onclick="parent.window.location.href='mailto:x3d-public@web3d.org'; return false;" style="font-family: Verdana;" target="_blank">x3d-public@web3d.org</a>><br/>
<b style="font-family: Verdana;">Betreff:</b> [x3d-public] ProtoInstance USE without name</div>

<div style="font-family: Verdana;">
<div style="font-family: Verdana;">Looking at why the old Prototypes for HAnim did not work properly for x3dom, I found that the xml examples typically have a ProtoInstance statement with a USE attribute but without the corresponding name attribute defining the actual node type. However, x3dom expects a name attribute with every ProtoInstance statement, even USE ones, to be able to insert the appropriate node.
<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">The xml spec  at</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;"><a href="https://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/concepts.html#ProtoInstanceAndFieldValueStatement" style="font-family: Verdana;" target="_blank">https://www.web3d.org/documents/specifications/19776-1/V3.3/Part01/concepts.html#ProtoInstanceAndFieldValueStatement</a></div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">does not address USE of ProtoInstances but all examples always have a name attribute.</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">Also, in my quite extensive testing of Protos, I did not come across other examples of ProtoInstance elements without a name attribute.</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">To be fair, the name attribute is not strictly necessary for USE ProtoInstances since the type of the inserted node can be determined from the referenced DEF node. But having the name attribute makes ProtoInstance elements more similar to regular nodes. So I think not requiring the name attribute for USE ProtoInstances should be explicitly allowed in the xml spec., but still be encouraged.</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">I do not think the xml spec. would be otherwise affected by V.4 ?</div>

<div style="font-family: Verdana;"> </div>

<div style="font-family: Verdana;">Best, Andreas</div>

<div style="font-family: Verdana;"> </div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>

<div>
<div style="line-height: 1;padding: 0.3em;">
<blockquote class="gmail_quote" style="margin: 0.8ex 0.0pt 0.0pt 0.8ex;border-left-width: 1.0px;border-left-style: solid;padding-left: 1.0ex;border-left-color: rgb(204,204,204);">
<div>
<div class="gmail_quote">
<div>
<div style="font-family: Verdana;font-size: 12.0px;">
<div style="font-family: Verdana;">
<div style="font-family: Verdana;">
<div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0.0px 10.0px 10.0px;border-left-width: 2.0px;border-left-style: solid;font-family: Verdana;border-left-color: rgb(195,217,229);">
<div style="font-family: Verdana;">
<div class="gmail_quote" style="font-family: Verdana;">
<blockquote class="gmail_quote" style="margin: 0.0px 0.0px 0.0px 0.8ex;border-left-width: 1.0px;border-left-style: solid;padding-left: 1.0ex;font-family: Verdana;border-left-color: rgb(204,204,204);">
<div style="font-family: Verdana;">
<div style="font-family: Verdana;font-size: 12.0px;">
<div style="font-family: Verdana;">
<div style="font-family: Verdana;">
<div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0.0px 10.0px 10.0px;border-left-width: 2.0px;border-left-style: solid;font-family: Verdana;border-left-color: rgb(195,217,229);">
<div style="font-family: Verdana;">
<div style="font-family: Verdana;">
<div style="font-family: Verdana;">--
<div style="font-family: Verdana;">
<div style="font-family: Verdana;">
<div style="font-family: Verdana;">Andreas Plesch<br/>
Waltham, MA 02453</div>
</div>
</div>
</div>
</div>
_______________________________________________ x3d-public mailing list <a href="mailto:x3d-public@web3d.org" onclick="parent.window.location.href='mailto:x3d-public@web3d.org'; return false;" style="font-family: Verdana;" target="_blank">x3d-public@web3d.org</a> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" style="font-family: Verdana;" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
 

<div style="font-family: Verdana;"> </div>
--

<div style="font-family: Verdana;">
<div style="font-family: Verdana;">
<div style="font-family: Verdana;">Andreas Plesch<br/>
Waltham, MA 02453</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
_______________________________________________<br/>
x3d-public mailing list<br/>
<a href="mailto:x3d-public@web3d.org" onclick="parent.window.location.href='mailto:x3d-public@web3d.org'; return false;" target="_blank">x3d-public@web3d.org</a><br/>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></div>
</div>
_______________________________________________ x3d-public mailing list <a href="mailto:x3d-public@web3d.org" onclick="parent.window.location.href='mailto:x3d-public@web3d.org'; return false;" target="_blank">x3d-public@web3d.org</a> <a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></blockquote>
</div>
</div>
</blockquote>
</div>
</div>
_______________________________________________<br/>
x3d-public mailing list<br/>
<a href="mailto:x3d-public@web3d.org" onclick="parent.window.location.href='mailto:x3d-public@web3d.org'; return false;" target="_blank">x3d-public@web3d.org</a><br/>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a></blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div></div></body></html>