The contentScriptType attribute on the <svg> element specifies the default scripting language for all scripts in the given document.
In the absense of a contentScriptType attribute, the default can be set by a "Content-Script-Type" HTTP header:
Content-Script-Type: <contentType>
User agents should determine the default scripting language for an SVG document according to the following steps (highest to lowest priority):
Documents that do not specify a default scripting language should set the default scripting lanuage to "text/ecmascript".
It is also possible to specify the scripting language for each individual <script> element by specifying a language attribute on the <script> element.
A <script> element can appear as a subelement to any <defs> element. A <script> element is equivalent to the <script> element in HTML and thus is the place for scripts (e.g., ECMAScript). Any functions defined within any <script> element have a "global" scope across the entire current SVG document.
The following is an example of defining an ECMAScript function and defining an event handler that invokes that function:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG August 1999//EN" 
  "http://www.w3.org/Graphics/SVG/SVG-19990812.dtd">
<svg width="4in" height="3in">
  <defs>
    <script><![CDATA[
      /* Beep on mouseclick */
      MouseClickHandler() { beep(); }
     ]]>
    </script>
  </defs>
  <circle onclick="MouseClickHandler()" r="85"/>
</svg>
| <!ELEMENT script (#PCDATA)* > <!ATTLIST script language CDATA #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #REQUIRED > | 
Attribute definitions:
Any <g>, <image>, <path>, <text> or vector graphic shape (such as a <rect>) can be assigned any of the following standard HTML event handlers:
Additionally, SVG's scripting engine needs to have the altKey, ctrlKey and shiftKey properties available.