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]