SVG – Learning by Coding
1: <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
2: <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
3: "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
4: <!ATTLIST svg xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">
5: ]>
6:
7: <!-- SVG - Learning by Coding - http://www.datenverdrahten.de/svglbc/ -->
8: <!-- Author: Dr. Thomas Meinike 08/04 - thomas@handmadecode.de -->
9:
10: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
11:
12: <title>SVG - Learning by Coding</title>
13: <desc>SVG-Spezifikation in Beispielen</desc>
14:
15: <defs>
16:
17: <script type="text/javascript">
18: <![CDATA[
19:
20: function TestFkt(evt)
21: {
22: var svgdoc,extobj,extrect;
23: svgdoc=evt.target.ownerDocument;
24:
25: // Zugriff auf das eingebundene Dokument und das Rechteck
26: extobj=svgdoc.getElementById("extobj").getSVGDocument();
27: extrect=extobj.getElementById("extrect");
28:
29: // Farbe des eingebundenen Rechtecks abfragen
30: alert("Rechteck-Farbe: "+extrect.style.getPropertyValue("fill")); // red
31:
32: // Farbe des eingebundenen Rechtecks neu setzen
33: extrect.style.setProperty("fill","green","");
34:
35: // Farbe des eingebundenen Rechtecks erneut abfragen
36: alert("Rechteck-Farbe: "+extrect.style.getPropertyValue("fill")); // green
37: }
38:
39: ]]>
40: </script>
41:
42: </defs>
43:
44: <text x="20" y="30" style="fill: #000; font-size: 24px">
45: DOM-Zugriff mit getSVGDocument()</text>
46:
47: <image id="extobj" xlink:href="extern.svg" x="20" y="50" width="100%" height="100%"/>
48: <!--
49: Der wesentliche Teil von extern.svg ist ein rotes Rechteck:
50: <rect id="extrect" x="0" y="0" width="100" height="50" rx="5" style="fill: red"/>
51: -->
52:
53: <a xlink:href="" cursor="pointer" onclick="return false">
54: <text x="20" y="130" onclick="TestFkt(evt)">
55: Eingebundenes SVG-Dokument ansprechen und Farbe ändern ...
56: </text>
57: <set attributeName="fill" attributeType="CSS" to="#F00" begin="mouseover"/>
58: <set attributeName="fill" attributeType="CSS" to="#000" begin="mouseout"/>
59: </a>
60:
61: <text x="20" y="150">
62: [Hinweis: ASV 3.0x und 6.0pr1 zeigen Änderungen nur im DOM, aber nicht visuell!]
63: </text>
64:
65: </svg>
[zum Anfang]