Source du fichier SVG

<svg width="400" height="200">
<script><![CDATA[
var n=0,nb_click=0,xm=0,ym=0;
function test_click(evt)
{xm1=evt.getClientX();ym1=evt.getClientY();nb_click=nb_click+1;
if ((Math.abs(xm-xm1)<2)&&(Math.abs(ym-ym1)<2)&&(nb_click==2))
{clone_objet(evt);nb_click=0;xm=0;ym=0}
else
{xm=xm1;ym=ym1;nb_click=1}}

function clone_objet(evt)
{svgdoc=evt.getTarget().getOwnerDocument();n=n+1;
objet=svgdoc.getElementById("rectangle");
var newnode = objet.cloneNode(false);
newnode.setAttribute ("x",100+10*n);newnode.setAttribute ("y",100+10*n);
newnode.getStyle().setProperty("fill","blue")
;
var contents = svgdoc.getElementById ('affiche');
newnode = contents.appendChild (newnode)}
]]></script>
<g id="affiche">
<text id="texte" x="150" y="40" style="text-anchor:middle;font-size:18;font-family:Arial;fill:red">Un double click sur le rectangle</text>
<rect id="rectangle" onclick="test_click(evt)" x="50" y="50" width="100" height="50" style="fill:green"/>
</g>
</svg>