もっともポピュラーなスクリプティング言語でもあり、SVG仕様でSVG準拠の実装がサポートすべきであると明記されているため、Batikでは、Rhinoと呼ばれるMozillaのECMAScriptインタープリタによって、ECMAScript (JavaScript)言語がサポートされています。Batikの標準ディストリビューションで提供されているスクリプティング言語はこれではあるが、PythonまたはTclといった、他の言語もサポートされます。このセクションの例では、全てECMAScriptを使用します。
SVGファイル中には、スクリプトを配置する場所が2箇所あります。
最初のひとつは、<script> 要素の中で、関数定義や要素が読み込まれた時に実行することができる一般的なコードの定義を置くことができる場所です。
| | |
|
<svg width="100" height="100">
<script type="text/ecmascript">
// 実行されるECMAScriptコード
</script>
<!-- あなたの SVG 要素 -->
</svg> | |
| | |
ユーザー イベントまたはドキュメント イベントに反応するスクリプトを、SVG要素の属性を用いて配置することも出来ます。上記の例に示されたように、スクリプティング言語は <script> 要素の中で設定されなければなりません。ただし、イベントハンドリングについては、デフォルトの言語タイプは "text/ecmascript" が既定となっています。もしこれを変更したければ、<svg> 要素のcontentScriptType 属性を使用することができます。
ほとんどの場合、イベント属性は <script> セクションで定義された関数を呼び出すだけでしょう。が、以下のように、通常のコードを含めることもできます。
| | |
|
<svg width="100" height="100">
<rect x="0" y="0" width="10" height="10"
onclick="evt.target.setAttribute('fill', 'blue')"/>
<!-- あなたの SVG 要素 -->
</svg> | |
| | |
SVGにおけるスクリプティングの利用に関する詳しい情報は、こちらを参照することができます: