SVG – Learning by Coding

[ Mozilla-DOM-Test_3.svg --> Grafik anzeigen ]

 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: <!--    AuthorDrThomas 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-DOMSVG-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]