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 09/05 - 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: var clk=true;
21:
22: function MozDOMTest3()
23: {
24: if(clk)
25: {
26: if((navigator.mimeTypes &&
27: navigator.mimeTypes["image/svg+xml"] &&
28: !navigator.mimeTypes["image/svg+xml"].enabledPlugin) ||
29: document.implementation.hasFeature("org.w3c.dom.svg","1.0"))
30: {
31: var xmlobject,svgobject,new_g,new_circle,new_text,new_textnode;
32: var svgns="http://www.w3.org/2000/svg";
33:
34: // neues Dokumentobjekt erzeugen
35: if(document.implementation && document.implementation.createDocument)
36: {
37: xmlobject=document.implementation.createDocument(svgns,"svg",null);
38:
39: // Neue xmlobject-Knoten fuer Elemente, Attribute und Textinhalt erzeugen
40: new_g=xmlobject.createElementNS(svgns,"g");
41:
42: new_circle=xmlobject.createElementNS(svgns,"circle");
43: new_circle.setAttribute("cx","150");
44: new_circle.setAttribute("cy","150");
45: new_circle.setAttribute("r","60");
46: new_circle.setAttribute("fill","#FF0");
47: new_circle.setAttribute("stroke","#000");
48:
49: new_text=xmlobject.createElementNS(svgns,"text");
50: new_text.setAttribute("x","50");
51: new_text.setAttribute("y","250");
52: new_text.setAttribute("font-size","12px");
53:
54: new_textnode=xmlobject.createTextNode("SVG mittels createDocument() erzeugt.");
55:
56: // neue Knoten in den neuen DOM-Baum einfuegen
57: new_text.appendChild(new_textnode);
58: new_g.appendChild(new_circle);
59: new_g.appendChild(new_text);
60:
61: xmlobject.documentElement.appendChild(new_g);
62:
63: // g-Element mit Inhalt aus xmlobject abfragen
64: svgobject=document.importNode(
65: xmlobject.documentElement.getElementsByTagName("g").item(0),true);
66:
67: // Ergebnis (Dokumentfragment) in den SVG-DOM-Baum einhaengen
68: document.documentElement.appendChild(svgobject);
69: }
70: else alert("Kein Ergebnis erhalten!");
71: }
72: else alert("Keine SVG-Implementierung\nauf Mozilla-Basis gefunden!");
73: }
74: else alert("Der Test wurde bereits ausgeführt!");
75: }
76:
77: ]]>
78: </script>
79:
80: </defs>
81:
82: <text x="20" y="30" style="fill: #000; font-size: 24px">
83: Mozilla-DOM: SVG-Inhalte mittels createDocument() einfügen</text>
84:
85: <a xlink:href="" cursor="pointer" onclick="return false"><text x="20" y="60" style="fill: #F00; font-size: 14px"
86: onclick="MozDOMTest3();clk=false">Test ausführen!</text></a>
87:
88: </svg>
[zum Anfang]