You may know this already, but the on* handlers have been deprecated and replaced with the <span style="font-weight: bold;">DOM 2 Events</span>* standard. So instead of doing &#39;onclick = &quot;DoFunction()&quot;&#39; the programmer should be calling &quot;
element.addEventListener(&#39;click&#39;, DoFunction, false)&quot;. If I understand you correctly, this effectively achieves your &quot;no code in data&quot; request. At least as far as the standards go.<br><br>For what it&#39;s worth, I&#39;m not certain that keeping code and data separate fixes the security issues with XSS. For example, Fortify Software released a Javascript exploit that inlines JSON requests as a simple &#39;&lt;script src=&quot;/path/to/AJAX.json&quot;&gt;&lt;/script&gt;&#39; tag, then captures the data present in the object created. 
<br><br>You can read about the full exploit here:<br><br><a href="http://www.fortifysoftware.com/servlet/downloads/public/JavaScript_Hijacking.pdf">http://www.fortifysoftware.com/servlet/downloads/public/JavaScript_Hijacking.pdf
</a><br><br>Such problems go above and beyond the issues present in mixing code with data, and therefore require more sophisticated security models. <br><br>Thanks,<br>Jerason<br><br><span style="font-style: italic;">* Microsoft has yet to fully support the DOM 2 standard. As a result, IE does not support addEventListener. It does support &quot;
element.attachEvent(&#39;onclick&#39;, DoFunction)&quot; which effectively achieves the same goal. </span><br><br><div><span class="gmail_quote">On 6/7/07, <b class="gmail_sendername">Pieter Ceelen</b> &lt;<a href="mailto:ceelen.p@gmail.com">
ceelen.p@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>Thus instead of creating<br><br>index.html<br>&nbsp;&lt;a href=# onclick=&quot;DoFunction()&quot; id=123 &gt;
<br><br>we write <br>index.html<br>&nbsp;&lt;a href=#&nbsp; id=123 &gt;<br><br>index.js<br>&nbsp; document.getElementById(&#39;123&#39;).onclick=&quot;DoFunction()&quot;<span class="sg"><br>
</span></blockquote></div><br>